Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #75, МАРТ 2005 г.

BASHмачника вызывали?

j1m (j1m@list.ru)

Хакер, номер #075, стр. 075-098-3


C-Y - восстановить уничтоженный текст

C-T - поменять местами два соседних символа

M-T - поменять местами два соседних слова

M-n - повторить последующую комбинацию n раз

C-- - отменить последнее изменение

M-R - отменить все изменения

Прояви свою индивидуальность

При запуске bash читает и выполняет команды из файла /etc/profile, который выступает в роли конфига. По окончании обработки этого файла очередь доходит до личных конфигов пользователя: ~/.bash_profile, ~/.bash_login, ~/.profile и ~/.bashrc. Различие между этими файлами довольно тонкое и не представляет большого интереса (единственное, что стоит особо отметить: содержимое файла ~/.bashrc выполняется при переходе в неначальный интерактивный командный интерпретатор, то есть когда запускаешь bash из bash'а либо из любого другого шелла. - Прим. ред.), а тебе я советую размещать все свои команды только в ~/.profile. Наконец, выполнив все команды из своих инициализационных скриптов, bash выводит приглашение к вводу команд.

Переменные окружения. Не стоит забывать и об установке значений переменных окружения командного интерпретатора. Для того чтобы сделать переменную глобальной (превратить ее в переменную окружения), достаточно выполнить

$ export ИМЯ_ПЕРЕМЕННОЙ

или

$ export ИМЯ_ПЕРЕМЕННОЙ="значение_переменной"

Такую команду можно прописать в один из инициализационных файлов (/etc/profile или ~/.profile). Значения всех установленных в данный момент переменных можно посмотреть, выполнив set. Если необходимо узнать значение только конкретной переменной, то поможет такая команда:

$ echo $ИМЯ_ПЕРЕМЕННОЙ

Вот несколько самых, на мой взгляд, важных переменных:

1. PATH - здесь через двоеточие должны быть перечислены каталоги поиска исполняемых файлов. Обычно это стандартные каталоги типа /bin и /usr/bin.

2. HISTIGNORE - в качестве значения можно указать команды, которые не должны попадать в историю. Сюда лучше заносить часто используемые команды типа ls, df, free, а также символ «&» (повторяющиеся команды). Вот как это сделать:

$ export HISTIGNORE="&:ls:df:free"

3. LANG - переменная определяет локаль, с ее помощью программы знают, какой язык им использовать в пользовательском интерфейсе, диагностических сообщениях и т.д. Для русского языка обычно устанавливаются значения ru_RU.KOI8-R, ru_RU.CP1251 или ru_RU.UTF-8.

4. PS1 - значение этой переменной определяет лицо командного интерпретатора, его приглашение. Правильная настройка приглашения очень важна, так как из него можно узнать много полезного: например имя хоста, текущий рабочий каталог, дату и время. Более того, в приглашении, если немного изловчиться, можно указывать практически любую информацию, такую, например, как количество свободной оперативки или места на диске. Переменная PS1 настраивается специальными символами, вот некоторые из них:

Специальные символы PS1

\u - имя пользователя

\h - имя хоста

\t - текущее время

\d - дата

\w - текущий рабочий каталог

\j - общее количество фоновых задач

\W - базовое имя текущего рабочего каталога

\$ - в случае пользователя root этот символ превратится в «#», иначе в «$»

Назад на стр. 075-098-2  Содержание  Вперед на стр. 075-098-4