Как и в случае с Terraform, Shell-скриптинг можно так же рассматривать с точки зрения построения блоками кода. Иногда это удобно, когда у вас уже есть опыт разработки на других языках программирования и все что вам нужно - посмотреть как выглядят конструкции в bash. Сам я так же часто подглядываю в подобные материалы, по этому и составил текущий список.
-
if-then-else - условный оператор, который выполняет определенный блок кода, если условие истинно или другой блок кода, если условие ложно. Пример:
if [ $var -eq 10 ]; then echo "Переменная равна 10" else echo "Переменная не равна 10" fi
-
for - цикл, который выполняет определенный блок кода для каждого элемента в заданном списке. Пример:
for i in {1..5}; do echo $i done
-
while - цикл, который выполняет определенный блок кода, пока заданное условие истинно. Пример:
while [ $var -lt 10 ]; do echo $var var=$(($var+1)) done
-
case - оператор, который позволяет проверить значение переменной на несколько возможных значений и выполнить определенный блок кода для каждого из них. Пример:
case $var in 1) echo "Переменная равна 1" ;; 2) echo "Переменная равна 2" ;; *) echo "Переменная не равна ни 1, ни 2" ;; esac
-
function - блок кода, который может быть вызван из других частей скрипта или других скриптов. Пример:
function hello() { echo "Привет, мир!" } hello
-
echo - команда, которая выводит заданный текст на экран. Пример:
echo "Hello World!"
-
read - команда, которая считывает введенные пользователем данные в переменную. Пример:
read var echo "Вы ввели: $var"
-
grep - команда, которая ищет заданное выражение в файле или выводе командной строки и выводит строки, которые содержат это выражение. Пример:
grep "hello" file.txt
-
sed - команда, которая используется для поиска и замены текста в файле или выводе командной строки. Пример:
sed 's/hello/world/g' file.txt
-
awk - утилита, которая используется для обработки текстовых файлов и вывода данных в нужном формате. Пример:
awk '{print $1}' file.txt
-
cut - утилита, которая используется для вырезания определенных частей строк из файла или вывода командной строки. Пример:
cut -d "," -f 1 file.txt
-
sort - утилита, которая сортирует строки в файле или выводе командной строки. Пример:
sort file.txt
-
uniq - утилита, которая удаляет дубликаты строк в файле или выводе командной строки. Пример:
uniq file.txt
-
tr - утилита, которая используется для замены символов в файле или выводе командной строки. Пример:
tr 'a-z' 'A-Z' file.txt
-
expr - утилита, которая используется для выполнения математических операций в скриптах. Пример:
expr 10 + 5
-
let - команда, которая используется для выполнения математических операций в скриптах. Пример:
let var1=10 var2=5 let result=var1+var2 echo $result
-
(( )) - конструкция, которая используется для выполнения математических операций в скриптах. Пример:
var1=10 var2=5 result=$((var1+var2)) echo $result
-
[ ] [ ] - конструкция, которая используется для проверки условий в скриптах. Пример:
if [ $var -eq 10 ]; then echo "Переменная равна 10" fi
-
[[ ]] - конструкция, которая используется для более сложной проверки условий в скриптах. Пример:
if [[ $var -eq 10 && $var2 -lt 5 ]]; then echo "Переменная равна 10 и переменная 2 меньше 5" fi
-
$ - символ, который используется для обращения к значению переменной. Пример:
echo $var
-
${ } - конструкция, которая используется для обращения к значению переменной с дополнительными параметрами. Пример:
echo ${var:0:5}
-
$@ - переменная, которая содержит все аргументы, переданные скрипту. Пример:
for i in "$@"; do echo $i done
-
$# - переменная, которая содержит количество аргументов, переданных скрипту. Пример:
echo "Количество аргументов: $#"
-
$? - переменная, которая содержит код возврата последней выполненной команды. Пример:
grep "hello" file.txt echo $?
-
$0 - переменная, которая содержит имя скрипта. Пример:
echo "Имя скрипта: $0"
-
$1, $2, ... - переменные, которые содержат значения переданных аргументов. Пример:
echo "Первый аргумент: $1" echo "Второй аргумент: $2"
-
>& - оператор, который перенаправляет вывод команды в файл. Пример:
echo "Hello World!" >& output.txt
-
< - оператор, который используется для перенаправления ввода из файла. Пример:
while read line; do echo $line done < file.txt
-
| - оператор, который используется для передачи вывода одной команды в качестве ввода для другой команды. Пример:
cat file.txt | grep "hello"
-
& - оператор, который используется для запуска команды в фоновом режиме. Пример:
command &
Отзывы
Пока нет комментариев
Для того чтобы оставить комментарий, авторизуйтесь.