Bash и PowerShell - азы CLI!
Данный опус является частью единого цикла заметок o CLI. Для его написания использовалось множество различных источников (скилы крутых специалистов, статьи с тематических сайтов. техническая документация, комментарии с форумов и социальных сетей и т. д и т. п.). К сожалению, указать все источники точно не представляется возможным! По этому, в конце заметки, будет указана ссылка только на основной источник. Материалы, использованные для написания заметки, изменялись автором под конкретную задачу! Вам, скорее всего, тоже придется поступить аналогичным образом для достижения желаемого результата)
Функции применяются в bash очень широко.
(Описываются функции двумя способами: с ключевым словом function, и без него)
Первый способ:
function имя_функции
{
тело функции
}
Второй способ::
имя_функции ()
{
тело функции
}
#!/bin/bash
function primer
{
if [ $# -ne 0 ]
then
local a=1
echo "Количество переданных параметров - $#"
for i in $@
do
echo "$a-й параметр - $i"
let a++
done
return 0
else
echo "Параметры не передавались"
return 1
fi
}
echo "Вызываем функцию с параметрами:"
primer a b c
echo $?
echo "Вызываем функцию без параметров:"
primer
echo $?
Операторы в языке Bash
Операторы сравнения
Арифметические операторы состоят из двух символов перед которыми стоит дефис. Ниже представлены арифметические операторы и в скобках их аналогия из языка С.
Вывод команды:
-lt - less then - меньше (<)
-gt - greater then - больше (>)
-le - less or equal - меньше или равно (<=)
-ge - greater or equal - больше или равно (>=)
-eq - equal - равно (==)
-ne - not equal - не равно (!=)
Если знакомы с английским языком, то запомнить будет несложно.
Операторы сравнения строк запомнить легче:
STR1 = STR2 - равно
STR1 != STR2 - не равно
STR1 < STR2 - меньше
STR1 > STR2 - больше
Оператор if
Для проверки условий в скрипте предназначена конструкция if. Общий синтаксис конструкции if в упрощенном виде, следующий:
if [ условие ]; then
блок команд
else
блок команд
Для проверки условий в скрипте предназначена конструкция if. Общий синтаксис конструкции if в упрощенном виде, следующий:
if [ условие ]; then
блок команд
else
блок команд
Оператор for
Оператор цикла for применяется для перебора последовательности значений.
Данный код выведет по порядку символы 1, 2, 3, a, b, c:
#!/bin/bash
for i in 1 2 3 a b c
do
echo i=$i
Оператор цикла for применяется для перебора последовательности значений.
Данный код выведет по порядку 1, 2, 3, 4, 5
#!/bin/bash
for ((i=1;i<6;i++))
do
echo i=$i
done
Оператор wile
Еще один оператор цикла, будет выполняться пока выражение не приймет заданное значение.
Код будет выводить значения i пока i<7
#!/bin/bash
i=1
while [ $i -lt 7 ]
do
echo $i
let i=i+1
done
Оператор case
Оператор сравнения, который сравнивает значение переменной с заданным шаблонами,
и в зависимости от совпадения запускает различный код.
#!/bin/bash
case $1 in
[a,b,c,d]) #значения заданные в шаблоне явно
echo "a b c d"
;;
[0-9]) #последовательность числовых значений
echo "Это цифра $1"
;;
[a-z]) #последовательность
echo "Это буква $1"
;;
??)
echo "Это два любых символа"
;;
stop|restart|start)
echo "Это слово stop или restart или start"
;;
*)
echo "Другое значение"
;;
esac
Оператор
Оператор read
Этот оператор служит для приема данных от пользователя.
#!/bin/bash
echo Введите, пожалуйста, Ваше имя
read NAME
echo "Привет, $NAME!"
Спасибо автору!
Источник:
https://onedayadmin.sytes.net/bash-rabota-s-tekstom/
Конец!