Команда cd меняет каталог на тот, который указан в качестве аргумента. Ее можно и нужно использовать для перехода в требуемое место в структуре каталогов. Обратите внимание, что cd часто помещают внутри скобок, чтобы приказать подоболочке сменить каталог и выполнить какие-либо команды, не затрагивая основную оболочку.
Например, первая из приводимых ниже команд копирует файл /etc/passwd в /usr/you/passwd, а вторая сначала меняет каталог на /etc и затем копирует файл:
cp /etc/passwd /usr/you/passwd
(cd /etc; cp passwd /usr/you/passwd)
Обратите внимание на скобки. Обе строки имеют одинаковый эффект.
Если интерпретатор считывает команды с терминала и указанного каталога не существует (или доступ запрещен), то проводится попытка коррекции каждого компонента имени каталога в поисках "правильного" имени. После этого Shell спрашивает разрешения на переход в каталог с исправленным именем: ответ "n" означает запрет, а любой другой символ разрешает.
Файл с именем .profile считывается каждый раз, когда вы загружаетесь в UNIX. Он обычно используется для выполнения специальных команд и для установки и передачи переменных во все подоболочки. Только после того, как все команды из файла .profile будут считаны и выполнены, Shell начнет считывание команд из стандартного ввода - обычно с терминала. Если вы хотите произвести переустановку параметров среды после внесения изменений в файл .profile, введите:
.profile
С помощью этой команды можно избежать перерегистрации пользователя в системе, обычно используемой для исполнения файла .profile.
Команда set позволяет вам изменять поведение Shell путем установки определенных флагов. В частности, флаги -x и -v могут быть полезны при вызове Shell как команды с терминала. Эти флаги можно установить командой set:
set -xv
Те же самые флаги можно выключить командой:
set +xv
Эти два флага имеют следующее действие:
-v Вводимые строки печатаются так, как они считываются Shell'ом. Этот флаг удобен для устранения синтаксических ошибок. Команды на каждой введенной строке выполняются после того, как она будет напечатана.
-х Команды и их аргументы печатаются по мере их выполнения. (Команды управления Shell, такие как for, while и т.д. не печатаются.) Обратите внимание, что -х вызывает трассировку только тех команд, которые выполняются, а -v печатает всю командную строку, пока не встретится синтаксическая ошибка.
Команда set также используется для установки этих и других флагов в процедурах Shell.