diff --git a/files/linux/bash-scripts-cheatsheet.md b/files/linux/bash-scripts-cheatsheet.md index bbe245c..b3cff0c 100644 --- a/files/linux/bash-scripts-cheatsheet.md +++ b/files/linux/bash-scripts-cheatsheet.md @@ -27,15 +27,15 @@ echo "Hello world" Запуск скрипта: ``` -bash script.sh +$ bash script.sh ``` Скрипт можно сделать исполняемым файлом и запускать без команды `bash`: ``` -chmod +x script.sh +$ chmod +x script.sh ``` ``` -./script.sh +$ ./script.sh ``` ## Комментарии @@ -81,11 +81,11 @@ echo "2 переменная: $V2" echo "3 переменная: $V3" ``` ``` -> user:~$ bash script.sh -> hello world some other text -> 1 переменная: hello -> 2 переменная: world -> 3 переменная: some other text +$ bash script.sh +$ hello world some other text +1 переменная: hello +2 переменная: world +3 переменная: some other text ``` Флаг `-a` позволяет создать массив в который будут записываться строки пользовательского ввода разделенные пробелом: @@ -94,9 +94,9 @@ read -a NAMES echo "Массив имён: ${NAMES[0]}, ${NAMES[1]}, ${NAMES[2]}" ``` ``` -> user:~$ bash script.sh -> Alex Mike John -> Массив имён: Alex, Mike, John +$ bash script.sh +Alex Mike John +Массив имён: Alex, Mike, John ``` Флаг `-p` позволяет не переносить пользовательский ввод на следующую строку. @@ -107,9 +107,9 @@ read -p "Введите ваш логин: " LOGIN read -sp "Введите ваш пароль: " PASSWD ``` ``` -> user:~$ bash script.sh -> Введите ваш логин: bash_hacker -> Введите ваш пароль: +$ bash script.sh +Введите ваш логин: bash_hacker +Введите ваш пароль: ``` ## Передача аргументов @@ -121,8 +121,8 @@ read -sp "Введите ваш пароль: " PASSWD echo "Аргумент 1 - $1; aргумент 1 - $2; aргумент 1 - $3." ``` ``` -> user:~$ bash script.sh hello test 1337 -> Аргумент 1 - hello; aргумент 1 - test; aргумент 1 - 1337. +$ bash script.sh hello test 1337 +Аргумент 1 - hello; aргумент 1 - test; aргумент 1 - 1337. ``` Нулевой аргумент всегда равен названию файла со скриптом: @@ -130,8 +130,8 @@ echo "Аргумент 1 - $1; aргумент 1 - $2; aргумент 1 - $3." echo "Вы запустили файл $0" ``` ``` -> user:~$ bash script.sh -> Вы запустили файл script.sh +$ bash script.sh +Вы запустили файл script.sh ``` Все аргументы можно положить в именованный массив: @@ -140,8 +140,8 @@ args=("$@") echo "Полученные аргументы: ${args[0]}, ${args[1]}, ${args[2]}." ``` ``` -> user:~$ bash script.sh some values 123 -> Полученные аргументы: some, values, 123 +$ bash script.sh some values 123 +Полученные аргументы: some, values, 123 ``` > `@` - это название массива по умолчанию, который хранит все аргументы (за исключением нулевого) @@ -165,15 +165,15 @@ else fi ``` ``` -> user:~$ bash script.sh -> Введите ваш возраст: -> 19 -> Доступ разрешен -> -> user:~$ bash script.sh -> Введите ваш возраст: -> 16 -> Доступ запрещен +$ bash script.sh +Введите ваш возраст: +19 +Доступ разрешен + +$ bash script.sh +Введите ваш возраст: +16 +Доступ запрещен ``` Условий может быть сколько угодно много, для этого используется конструкция `elif`, которая также как `if` может проверять условия: @@ -273,8 +273,6 @@ if [[ -r $file || -w $file ]] ## Арифметические операторы -Предназначены для выполнения операций над числами. - ```bash num1=10 num2=5 @@ -299,4 +297,4 @@ echo $(expr $num1 / $num2) # 2 echo $((num1 % num2)) # 0 echo $(expr $num1 % $num2) # 0 ``` -> Обратите внимание, что при использовании умножения с ключевым словом `expr` необходимо использовать косую черт. \ No newline at end of file +> Обратите внимание, что при использовании умножения с ключевым словом `expr` необходимо использовать косую черту. \ No newline at end of file