Shell позволяет определять переменные, как и большинство языков программирования. Переменная - это порция данных, которой дано имя. (прим. переводчика: В языке shell переменные не определяются (в традиционном смысле), так как все они одного типа - "строкового", речь может идти только об их инициировании: присваивании начальных значений).
ВНИМАНИЕ! Имейте в виду, что Tcsh, также, как и C shell, используют различные механизмы определения переменных, отличающиеся от используемых здесь. Здесь обсуждается shell Баурна. Когда вы присвоите значение переменной (используя оператор ``='' ), вы сможете получить это значение, добавив перед именем переменной символ ``$'', как это показано ниже
/home/larry# foo=``hello there''
Переменной foo присвоено значение ``hello there''. Теперь вы можете обратиться к этой переменной, добавив перед именем символ ``$''. Команда
/home/larry# echo $foo hello there /home/larry#
дает тот же самый результат, что и
/home/larry# echo ``hello there'' hello there /home/larry#
Эти переменные являются внутренними для shell. Это означает, что только shell имеет доступ к этим переменным. Это может быть полезно для сценариев; если вам надо сохранить информацию о имени файла, вы, например, можете поместить его в переменную. Команда set может показать вам перечень всех определенных переменных shell.
Shell позволяет экспортировать переменные в среду. Среда - это множество переменных, к которым могут иметь доступ все выполняемые команды. Определив однажды переменную внутри shell (прим. переводчика: определить - здесь означает "присвоить значение"),
командой export вы можете передать ее среде.
ВНИМАНИЕ! Здесь вновь есть отличие между Bash и Tcsh. При использовании Tcsh используется другой синтаксис для помещения переменных в среду (используется команда setenv). Дополнительную информацию можно найти в Руководстве по Tcsh.
Среда очень важна в системах UNIX. Она позволяет конфигурировать некоторые команды за счет установки переменных, о которых знают команды.