Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > *NIX системы: Общие вопросы > Глубина вложенности текущего пути


Автор: linuxoid 17.4.2005, 10:24
Господа! Возможно у Вас есть идеи, как это реализовать? Изменить конфигурационные файлы командного интерпретатора (bash) таким образом, чтобы формировалась динамически изменяющаяся и наследуемая в дочерние shell первичная подсказка (PS1) в формате:

\L\>

где L - число без ведущих нулей, отражающее глубину вложенности текущего пути. Например, для директории /home/vasja/bin L=3.

Автор: GrayCardinal 18.4.2005, 05:08
linuxoid
С конфигурационными файлами ты наврядли что-то сделаешь (хотя RTFM, читай man bash)Я бы просто файло написал

Цитата
#!/bin/perl
while (<STDIN>)
{
print ">"; // сюда обработку и свой вывод.
system ($_);
}

что-то типа того.

Автор: bilbobagginz 18.4.2005, 10:57
нужно скрипт делать на awk чтобы ставил field separator - \/ и выплёвывал в PS1
что-то типа:
pwd | gawk -F\/ '{ printf "L=" NF-1 }'

а теперь сделай это на винде ... вредный малчищка.



Автор: sunyate 21.4.2005, 06:05
Не знаю, будет ли это работать в bash, но в zsh это делается так (с форматированием по шаблону "\L\>"):

PROMPT='\\${(ws:/:)#PWD}\\> '

N.B.: одинарные кавычки - принципиально, как и установка setopt promptsubst

P.S.: zsh - очень мощная и удобная оболочка, рекомендую!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)