Разбира се, всички тези, които общуват с операционната система Linux най-малко веднъж, но трябваше да се справят (или поне сте чули точно) с Баш черупки. Но не само обвивката БАШ, това е също една отлична скриптов език.
Целта на тази статия - да се запознаят потребителите с Баш, за да разкаже за синтаксиса на основните техники и парчета на език, дори един обикновен потребител може бързо да напишете проста скрипт, за да се изпълнява ежедневно (-week, месечно) рутинна работа, или, да речем, "на коляното "navayal skriptik за архивиране директория.
БАШ - Bourne Again Shell-(което може да се преведе като "прераждане е" или "Born Again беше (създател ш)"), най-популярният черупка в Никс системи *, особено в GNU / Linux. По-долу е поредица от вградени команди, които ще използвате, за да създадете свои собствени скриптове.
- пробие - извън за контур, а, или докато
- продължи - следващата итерация на цикъл за, а, или докато
- ехо - изходни аргументи, разделени с интервали, на стандартния изход устройството
- изход - на изхода от плика
- износ - отбелязва аргументите като променливи, които да преминат към процесите на деца в околната среда
- хеш - съхранява пълните имена на отбори пътеки, определени като аргумент, а не да ги търсим на следващото обаждане
- убийство - изпраща завършване на процеса
- хората с увреждания - Показва текущата работна директория
- чете - чете ред от входния плика и го използва за определяне на стойностите на променливите, посочени.
- връщане - причинява функция черупка, за да отидете на определена стойност
- Shift - преместване на позиционни параметри на ляво
- тест - изчислява условно експресията
- пъти - показва потребителско име и система път, използвайте черупка и неговите потомци
- капан - определя командата, за да бъде изпълнена при получаване на сигнал Кания
- зададено - предизвиква разрушаване на шел променливи
- чакам - чакам от процеса на детето, както и да информира изход държавата.
И разбира се, в допълнение към вградените команди, ние ще използваме един куп външни, отделни екипи от софтуер, с които ние вече се срещат в процеса на
Какво трябва да знаете от самото начало
1. Всяко Баш-скрипт трябва да започва с реда:
в този ред, след като #! пътя към Баш-интерпретатор, така че ако сте го инсталирали на различно място (където можете да научите да пишете whereis Баш) и да я промените по пътя си.
2. Коментари започват с # символ (с изключение на първия ред).
3. В Баш, променливи не са с тип (от които ще бъдат обсъдени по-долу)
Променливите и параметрите на сценария
Ето един пример за един малък пример, който ще обсъдим:
# Показват къде ние продължавахме Баш черупка
parametr1 = $ 1 # parametr1 зададете променлива стойност на първия параметър на скрипта
SCRIPT_NAME $ = 0 # зададете променлива SCRIPT_NAME значението на името на скрипта
ехо "Тичаш скрипт, наречен $ SCRIPT_NAME и параметър $ parametr1" # ехо команда отпечатва определен низ, позоваване на променлива чрез $ variable_name.
ехо "Тичаш скрипт, наречен $ SCRIPT_NAME и параметър $ parametr1 '# тук виждаме други котировки, като разликата е, че няма за замяна променливи в единични кавички.
изход 0 # Завършва с код 0 (успешно завършване на сценария)
Изходът на скрипта:
Провеждате скрипт с име и параметър ./test.sh QWERTY на
Показвате скрипт, наречен $ SCRIPT_NAME и параметър $ parametr1
След като се запознаете с това как да използвате променливи и параметри на скрипта, време да се запознаете с запазени променливи:
Условните оператори, мисля, са познати на почти всеки, който някога се е опитвал нещо да пише програми. В Баш, условията са написани следа. начин (както обикновено например):
източник = $ 1 # източник Ние заби в променлива първия параметър на скрипта
Цел = $ 2 # в променливата DEST Ние тяга втория параметър на скрипта
ако [[ "$ източник" еквивалент "$ Цел"]] # цитирани посочат имената на променливите, за сравнение. еквивалент - логично сравнение означава "равен"
След това # ако те наистина са равни,
ехо "$ Primenik Цел и източник $ източник е един и същи файл!"
изход 1 # изход грешка (1 - код за грешка)
останало #, ако те не са равни
кп $ източник $ DEST # след това да изпълнят командата CP: копиране на източника към приемника
Fi # означават крайните условия.
Изходът на скрипта:
Primenik 1 и 1 Източник е един и същи файл!
Структурата на ако-то иначе се използва, както следва:
ако <команда или набор команд возвращающих код возврата(0 или 1)>
<если выражение после if истино, то выполняется этот блок>
<если выражение после if ложно, тот этот>
Тъй като екипът се връща код за връщане може да направи структура [[. [. тест, (()) или друг (или повече) Linux-команда.
- тест - използва се за логично сравнение. след експресия, neobhodima скоба затварящ "]"
- [- синоним тест команда
- [[- усъвършенствана версия "[" (версия 2.02) (както е показано), в което може да се използва || (Или) (S). Трябва ли да има zakryvayuschub скоба "]]"
- (()) - математическо сравнение.
За изграждането на многоетажни условия на формата:
За краткост и четливост, то е възможно да се използва следната структура:
Условия. многовариантен избор
Ако искате да сравните на нефункционираща една променлива с голям брой параметри, е препоръчително да се използва изявление случай.
ехо "Select, редактор да тече"
ехо "1 започне нано програма"
ехо "2-ра серия VI"
ехо "3 Като се започне Emacs на програмата"
прочетете това # тук четем в променливата $ правене на стандартния вход
/ ЮЕсАр / хамбар / нано # ако $ 1 съдържа правиш, след това започнете нано
/ ЮЕсАр / хамбар / VI # ако $ 2 съдържа правиш, тогава VI тече
/ ЮЕсАр / хамбар / Emacs # ако $ 3 съдържа правиш, а след това се движат Emacs
*) # Ако сте въвели с клавиатура, която не е описана в случай, направете следното:
ехо "Въвели сте неправилно действие"
ESAC # приключва случай оператор.
Изберете, редактор за старта:
1 Като се започне нано програма
2 Run VI
3 Стартиране на програмата Emacs
Prvedu списък на логически оператори, които се използват за изграждане на ако-то-друго-Fi:
- -Z # низ е празна
- -п # линия не е празна
- = (==) # линия са
- != # Редове са неравни
- -екв # равнява
- -NE # неравномерно
- -LT (<) # меньше
- -ле, (<=) # меньше или равно
- -GT, (>) # Повече
- -Ge, (> =) # голямо от или равно
- ! # Отрицание на логически израз
- -а, () # Булева "И"
- -о, (||) # логично "ИЛИ"
С основите на езика и термините, които измисли за да не се претовари статията, счупи го на няколко части (да кажем 3). Във втората част на цикъла и анализира оператори, извършващи математически операции.
Свързани статии