Настройка и работа в Linux

         

Подстановка переменных Подстановка значений


Интерпретатор bash предоставляет нам довольно гибкий механизм подстановки переменных. При этом переменная будет использоваться не всегда, а в зависимости от определенных обстоятельств. (см. таблицу 3).

Таблица 3.
 

${переменная:=значение} Значение присваивается переменной, если она не определена или является пустой строкой.
${переменная:?сообщение} Если переменная не определена или является пустой строкой, выводится сообщение
${переменная:+значение} Если переменная инициализирована (определена), вместо нее используется указанное в конструкции значение. (*) 
${переменная} Если переменная определена, подставляется ее значение. Скобки используются лишь для того, если после переменной стоит символ, который может «приклеиться» к имени переменной.
${переменная:-значение} Если переменная определена и не является пустой строкой, подставляется ее значение, иначе подставляется значение, указанное в конструкции. (*)

(*) Реальное значение переменной не изменяется.
Пример: ${2 :? “Не хватает второго параметра”}

При подстановке команд нужно использовать обратные одинарные кавычки (они расположены под символом тильды на клавиатуре). Подставлять можно не только одну команду, а целые списки команд:

USERS=‘who | wd –l‘
UP=‘date; uptime‘
I=‘whoami‘

В первом случае мы получим количество пользователей работающих в системе, а во втором последовательно записанные результаты выполнения команд date и uptime. В третьем случае мы просто получим логин пользователя, под которым мы сейчас работаем в системе.
Подставлять результаты выполнения можно не только в переменные, а и в другие команды, например

grep ‘id –un‘ /etc/passwd
 



Содержание раздела