Переменные PS1, PS2, PS3, PS4, PROMPPT_COMMAND – подсказки, имеющие по умолчанию следующие значения:
· PS1 "bash\$" – если пусто ([ -z "$PS1" ]) , то шелл не интерактивный:
[ -n "$PS1" ] && echo interactive || echo batch job ;
· PS2 ">" – запрос продолжения ввода;
· PS3 "" – подсказка при read;
· PS4 "+" – команда, выполненная в режиме трассировки (set -x)
· PROMPT_COMMAND – команда, выполняемая всякий раз перед показом PS1.
Используются динамически вычисляемые escape-последовательности вида:
· \w – текущий каталог (полный путь);
· \W – текущий подкаталог, без пути к нему;
· \u – user;
· \h – host;
· \$ – "$" для обычного пользователя и "#" для root
и т. д.
Используются и другие переменные:
· RANDOM – случайная величина;
· PWD – пароль;
· OLDPWD – старый пароль;
· REPLY – см. read и select;
· BASH – путь к текущему BASH;
· SHLVL – номер копии BASH;
· SECONDS – сколько секунд запущен BASH;
· LINENO – номер строки в текущем скрипт-файле или функции;
· BASH_VERSION – версия BASH;
· HOSTTYPE – тип компьютера, например: "PCAT" (IBM PC AT), "i586" (Pentium);
· OSTYPE – тип ОС, например: "MSDOS", "linux", "freebsd2.2.5";
· MAIL – файл, в который приходит почта, если не задано, то может быть
/var/mail/user
· MAILCHECK – через сколько секунд проверять почту, по умолчанию через 60 секунд.
Переменные OPTARG, OPTIND, OPTERR отображают результаты последнего getopts (см. п.2.3.8).
Используются булевы переменные:
· nolinks - если установлена, превращать symlinks в настоящие файлы;
· noclobber - выдавать ошибку при попытке перенаправить (">") в существующий файл, но можно использовать ">|".