Приемы профессиональной работы в UNIX


ПОСТРОЧНЫЙ РАЗБОР ПРИМЕРА ФАЙЛА НАСТРОЙКИ


Строки 3-8 делают хитрую установку главной подсказки - переменной PS1. В строке 3 инициализируется переменная, которая выбирает подсказку. Значение ushort жестко закодировано в файле, но вы всегда можете запросить его или установить его в зависимости от файла.

Первой альтернативой является ufull, используемая для установки подсказки в виде полного имени узла uucp в локальной системе. Вы выбираете такую подсказку, если используете несколько машин и для доступа к одной машине применяете другую. Отличительная подсказка напоминает вам, какой машиной вы пользуетесь. Отметим, что подсказка имеет одинаковое число символов и для короткой строки, и для длинной. Если же вам нужно имя узла uucp, но не нужна длинная строка для подсказки, вы можете выбрать ushort, что дает первые три символа имени узла. Как показано в строке 6, имя получается применением команды uuname для получения локального имени узла (опция -l). Затем это имя пропускается через команду cut, которая вырезает символы с первого по третий. Результат присваивается переменной подсказки.

Последняя альтернатива для тех из вас, кто имеет графические символы. Назначение в строке 7 есть греческий символ. Его можно получить применением специальных управляющих последовательностей, которые указывают терминалам отображение специальных символов. Символы ^[ являются визуальным представлением управляющего символа в программе vi. Вы можете получить этот символ в программе vi, набрав control-v, а затем ESC. Последовательность ESC[12m означает, что следующий символ будет напечатан как графический. Символ j является вашей подсказкой и превращается в графический символ, который выдается на ваш экран. Используя различные символы алфавита, вы можете иметь в виде вашей подсказки почти любой графический символ. ESC[10m возвращает ваш терминал в режим обычного текста, так что все символы, печатаемые после того, как вы набрали ESC[10m, являются нормальными.

Если вы хотите сохранить вашу пользовательскую подсказку для всех подчиненных интерпретаторов shell, экспортируйте ее. Иначе вы получите $ для всех интерпретаторов shell нижнего уровня.




- Начало -  - Назад -  - Вперед -