Некоторые способы присваивания переменным значений



Выражение Интерпретация
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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!