ПредишенСледващото

Разбира се, всички тези, които общуват с операционната система 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). Във втората част на цикъла и анализира оператори, извършващи математически операции.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!