По своей сути скрипты инициализации являются обычными скриптами командной оболочки. Однако они производят инициализацию окружения путем автоматического выполнения некоторых команд; все это происходит при входе в систему. Если, например, при каждом входе в систему вы проверяете, не пришло ли сообщение по почте, вам есть смысл поместить эту команду в скрипт инициализации, так чтобы эта команда исполнялась автоматически.
Как оболочка bash, так и оболочка tcsh делают различия между начальной оболочкой (login shell) и другими ситуациями, когда вызывается оболочка. Начальная оболочка вызывается при входе в систему, и, как правило, это единственная оболочка, с которой вы работаете. Однако когда вы временно выходите ("shell out") из некоторой программы, например, из редактора vi, запускается другой сеанс (instance) оболочки, который будет отличаться от сеанса начальной оболочки. Кроме того, новый сеанс оболочки автоматически запускается всякий раз, когда нужно исполнить скрипт.
Инициализационными файлами, используемыми оболочкой bash, являются: /etc/profile (создается системным администратором и исполняется всеми пользователями оболочки bash при входе в систему), $HOME/.bash_profile (исполняется при запуске оболочки bash) и $HOME/.bashrc (исполняется остальными сеансами оболочки bash). Если файла .bash_profile нет, вместо него исполняется файл .profile.
Оболочка tcsh использует следующие скрипты инициализации: /etc/csh.login (исполняется всеми пользователями оболочки tcsh при входе в систему), $HOME/.tcshrc (исполняется при входе в систему и при каждом запуске tcsh) и $HOME/.login (исполняется при входе в систему вслед за .tcshrc). Если файла .tcshrc нет, вместо него исполняется файл .cshrc.
Создание полного руководства к программированию командных оболочек лежит вне задач данной книги. Более полно о создании индивидуального окружения для работы в системе Linux можно из экранной документации к программам bash и tcsh.