В BASH существуют так называемые дополнительные режимы работы оболочки. Это внутренние переменные, значения которых можно устанавливать или сбрасывать. Включение режима осуществляется командой
set -o <режим>
а выключение - командой
set +o <режим>
Перечислим основные режимы BASH:
Режим ignoreeof
Этот режим блокирования возможности выхода из оболочки с помощью комбинации клавиш Ctrl+d. Выход из оболочки с установленной опцией возможен только по команде exit. Этот режим используется для перестраховки при использовании комбинации клавиш Ctrl+d, которая часто используется и в других программах.
Режим noclobber
Данный режим используется для предотвращения записи новых файлов поверх существующих при переадресации вывода. В приведенном примере вторая команда при включенном режиме noclobber выдаст ошибку. Третья же команда ошибки не выдаст. Если файл myfile создается впервые, первая команда также не выдаст сообщения об ошибке.
ls > myfile
ls -l > myfile
ls -l >> myfile
О переадресации ввода и вывода смотри C.3.3.
Режим noglob
Режим используется для блокирования специальных символов регулярных выражений, используемых в шаблонах: *, ?, ~, [, ]. В данном режиме эти символы можно использовать в именах файлов. Например, допустимым будет имя файла Why? . Однако использование регулярных выражений будет запрещено!