Некоторые способы присваивания переменным значений
Выражение | Интерпретация |
Var_name=value | Значение value присваивается переменной Var_name |
Var_name+value | Значение value присваивается переменной Var_name, если оно установлено |
Var_name:?value | Если переменная Var_name не установлена, на экран выводится сообщение об ошибке |
Var_name?value | Если переменная Var_name не установлена, на экран выводится сообщение о системной ошибке |
Var_name:=value | Если переменная Var_name не установлена, ей присваивается значение value |
Var_name:-value | Аналогично предыдущему варианту, но значение переменной Var_name не присваивается; оно может быть получено подстановкой |
В интерпретаторе Shell возможна работа с массивами. Существует 3 способа определения массивов:
Mass_name[0]=value
Mass_name=(value1 value2) # эквивалентно Mass_name[0]=value1
# Mass_name[1]=value2
Mass_name=([0]=value1 [3]=value2)
Обращение к значениям элементам массива аналогично получению значения обычной переменной:
${Mass_name[0]}
Для получения значений всех элементов массива используется запись вида ${Mass_name[*]} или ${Mass_name[@]}.
Правила применения кавычек в Shell
В языке Shell кавычки оказывают существенно влияние на процесс интерпретации командных строк.
Одинарные ' ' и двойные " " кавычки
Одинарные и двойные кавычки используются в программе для экранирования специальных символов и пробелов.
Если переменная заключена в двойные кавычки, то все символы за исключением $, \ и ` будут восприниматься буквально, а указанные символы сохраняют свое специальное значение.
|
|
При заключении переменной в одинарные кавычки, все метасимволы теряют свое специальное значение и интерпретируются как обычные символы.
Так результатом выполнения команд
$ echo 'per: ${maxi}'
$ echo "per: ${maxi}"
будет
per: ${maxi}
и
per: 10
Обратные кавычки ` `
Символы обратных кавычек позволяют присваивать переменным и передавать в команды результаты работы других системных команд (то есть передать данные вывода в команду). Все символы, которые заключены в обратные кавычки воспринимаются интерпретатором как системная команда, которую необходимо выполнить.
Например, команда
$ echo `date`
позволит вывести на экран дату в формате представления команды date
пятница, 13 октября 2017 г. 02:00:12 (MSK)
Результат выполнения команды может быть присвоен переменной
$ Todaydate=`date`
$ echo $Todaydate
пятница, 13 октября 2017 г. 02:00:12 (MSK)
Допускается комбинация кавычек в рамках одной команды:
$ echo " Today is `date`. "
Today is пятница, 13 октября 2017 г. 02:00:12 (MSK).
Команда echo
Предназначена для вывода в поток стандартного вывода (stdout) выражение или содержимое переменной. Функция имеет формат:
$ echo [< опции >] < текст >
Так, вызов команды
|
|
$ echo HELLO
приведет к выводу на экран слова HELLO\n (по умолчанию команда добавляет в конец выведенного выражения символ перевода строки \n, для отключения данной опции, необходимо запустить команду с ключом -n).
Вызванная без опций команда echo не интерпретирует ESCAPE-последовательности (например, \n или \t). Для включения режима распознавания ESCAPE-последовательностей используется ключ –e. Например, вызов команды
$ echo ’’ H\tE\tL\tL\tO ’’
будет строка
HtEtLtLtO
в то время как вызов той же команды с опцией –e даст следующий результат
$ echo -e ’’ H\tE\tL\tL\tO ’’
H E L L O
Команда test
Test – встроенная команда интерпретатора bash, реализующая проверку файлов (унарное тестирование), а также сравнение файлов, текстовых строк и целых чисел. В результате работы команда test устанавливает код завершения равным 0 (TRUE - истина) или 1 (FALSE - ложь) в зависимости от результата проверки. В случае завершения работы с ошибкой, команда test возвращает значение, равное 1.
Команда преимущественно test используется в управляющих конструкциях if, while и until для проверки условия.
Команда test может быть записана в одном из двух следующих эквивалентных вариантах:
test проверяемое выражение
[ проверяемое выражение ]
|
|
Важно отметить, что между операторами [ ] и проверяемым выражением должны стоять знаки пробелов.
Проверяемое выражение может иметь один из следующих форматов:
-ключ строка/файл
Дата добавления: 2019-11-16; просмотров: 172; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!