
- •1)Отличия Linux от Windows
- •2)Файловая система linux и ее устройство
- •3) Ссылки в linux
- •6) Команды управление пользователями Linux
- •Права доступа в Linux
- •8). Работа с текстовыми файлами в linux, текстовой процессор VI
- •Запуск редактора VI
- •9. Командные интерпретаторы Linux
- •Tcsh (и более раннего интерпретатора csh)-Базировался на коде командного интерпретатора шестой версии unix. Скриптовый язык не уступает bash по мощности, но отличается синтаксисом
- •10.Основные команды bash
- •11.Переменные в bash их особенности и область видимости
- •13 Операторы Условия и перехода в bash
- •Конструкции простой проверки if|then|else
- •14 Арифметические операторы
- •15 Операторы цикла.
- •Цикл while.
- •16 (Функции)
13 Операторы Условия и перехода в bash
Операторы if | then проверяют код завершения списка команд на «успешное завершение(истина)» что в свою очередь означает «0», и если это так, то выполняет одну или более команд следующих за словом then. Если проверка возвращает «не успешное завершение (ложь)» что в свою очередь означает «1» выполняется else «иначе» если того требует условие. В завершении условия обязательно закрываем его «fi»
Конструкции простой проверки if|then
if [[ condition ]]; then
commands
fi
Конструкции простой проверки if|then|else
1 2 3 4 5 |
if [[ condition ]]; then commands 1 else commands 2 fi |
14 Арифметические операторы
арифметические операторы:
+ Сложение
- Вычитание
* Умножение
/ Деление
** возведение в степень
% модуль (деление по модулю), возвращает остаток от деления
+= "плюс-равно" (увеличивает(прибавит) значение переменной на заданное число)
-= "минус-равно" (уменьшение значения переменной на заданное число)
*="умножить-равно" (умножить значение переменной на заданное число, результат записать в переменную)
/= "слэш-равно" (уменьшение значения переменной в заданное число раз)
%= "процент-равно" (найти остаток от деления значения переменной на заданное число, результат записать в переменную)
Арифметические операторы очень часто используются совместно с командами expr и let.
Команда let производит арифметические операции над числами и переменными.
exprУниверсальный обработчик выражений: вычисляет заданное выражение (аргументы должны отделяться пробелами). Выражения могут быть арифметическими, логическими или строковыми.
15 Операторы цикла.
Цикл for-in.
Оператор for-in предназначен для поочередного обращения к значениям перечисленным в списке. Каждое значение поочередно в списке присваивается переменной. Синтаксис следующий: for переменная in список_значений do команды done
Цикл while.
Цикл while сложнее цикла for-in и используется для повторения команд, пока какое-то выражение истинно( код возврата = 0). Синтаксис оператора следующий: while выражение или команда возвращающая код возврата do команды done
UNTIL-DO. Эта практически полный аналог цикла WHILE-DO, только выполняется пока какое-то выражение ложно.
16 (Функции)
По сути функция в bash является обычной переменной, но с более широкими возможностями.
Основное применение – в тех случаях, когда один и тот же код необходимо использовать несколько раз и/или в разных связанных скриптах.
Функция -- это подпрограмма, блок кода который реализует набор операций, своего рода "черный ящик", предназначенный для выполнения конкретной задачи. Функции могут использоваться везде, где имеются участки повторяющегося кода.
function_name () {
command...}
1 |
two () { |
2 |
echo "Two" |
3 |
} |
Сложные функции и сложности с функциями
Функции могут принимать входные аргументы и возвращать код завершения. Доступ к входным аргументам, в функциях, производится посредством позиционных параметров, т.е. $1, $2 и так далее.
Exit и Return код завершения:
Функции возвращают значение в виде кода завершения. Код завершения может быть задан явно, с помощью команды return, в противном случае будет возвращен код завершения последней команды в функции (0 -- в случае успеха, иначе -- ненулевой код ошибки). Код завершения в сценарии может быть получен через переменную $?.
Return Завершает исполнение функции. Команда return может иметь необязательный аргумент типа integer, который возвращается в вызывающий сценарий как "код завершения" функции, это значение так же записывается в переменную $?