Шрифт:
Таблица 2.2
Переменная окружения | Описание |
---|---|
$НОМЕ | Исходный каталог текущего пользователя |
$PATH | Разделенный двоеточиями список каталогов для поиска команд |
$PS1 | Подсказка или приглашение командной строки. Часто знак $ , но в оболочке bash можно применять и более сложные варианты. Например, строка [\u@\h \w]$ — популярный стандарт, сообщающий в подсказке пользователя имя компьютера и текущий каталог, а также знак $ |
$PS2 | Дополнительная подсказка или приглашение, применяемое как приглашение для дополнительного ввода; обычно знак > |
$IFS | Разделитель полей ввода. Список символов, применяемых для разделения слов при чтении оболочкой ввода, как правило, пробел, знак табуляции и символ перехода на новую строку |
$0 | Имя сценария командной оболочки |
$# | Количество передаваемых параметров |
$$ | ID (идентификатор) процесса сценария оболочки, часто применяемый внутри сценария для генерации уникальных имен временных файлов; например, /tmp/tmpfile_$$ |
Если вы хотите проверить с помощью команды
Если ваш сценарий вызывается с параметрами, создается несколько дополнительных переменных. Если параметры не передаются, переменная окружения
Переменные-параметры перечислены в табл. 2.3.
Таблица 2.3
Переменная-параметр | Описание |
---|---|
$1 , $2 , ... | Параметры, передаваемые сценарию |
$* | Список всех параметров в единственной переменной, разделенных первым символом из переменной окружения IFS . Если IFS корректируется, способ разделения командной строки на параметры в переменной $* изменяется |
$@ | Едва различимая вариация $* ; не использует переменную окружения IFS , поэтому параметры не сольются, даже если переменная IFS пуста |
Легче всего увидеть разницу между переменными-параметрами
Как видите, заключенная в двойные кавычки переменная-параметр
Помимо вывода на экран содержимого переменных с помощью команды
В приведенном далее сценарии показано несколько простых манипуляций переменными. После ввода сценария и записи его в файл try_var не забудьте превратить его в исполняемый файл с помощью команды
Если вы выполните этот сценарий, то получите следующий вывод:
Как это работает
Сценарий создает переменную