динамический заголовок окна на основе ввода команды (TCSH)

Используйте pushd , а затем специальные имена для каталогов в стеке каталогов: ~ 1 , ~ 2 и т. Д. .

Пример:

tmp $ dirs -v
 0  /tmp
 1  /tmp/scripts
 2  /tmp/photos
 3  /tmp/music
 4  /tmp/pictures
tmp $ cd ~3
music $ dirs -v
 0  /tmp/music
 1  /tmp/scripts
 2  /tmp/photos
 3  /tmp/music
 4  /tmp/pictures
music $ cd ~2
photos $ cd ~4
pictures $ cd ~3
music $ cd ~1
scripts $ 

Наиболее эффективный способ использования pushd таким образом - загрузить список каталогов, а затем добавить еще один каталог , который будет вашим текущим каталогом, а затем вы можете переключаться между статическими числами, не влияя на положение каталогов в вашем стеке.


Также стоит отметить, что cd - перенесет вас в последний каталог, в котором вы были. Так же будет cd ~ - .

Преимущество ~ - перед - состоит в том, что - специфичен для cd , тогда как ~ - расширяется вашей оболочкой так же, как ~ 1 , ~ 2 и т.д. Это удобно при копировании файла между очень длинными путями к каталогам; например:

cd /very/long/path/to/some/directory/
cd /another/long/path/to/where/the/source/file/is/
cp myfile ~-

Вышеупомянутое эквивалентно:

cp /another/long/path/to/where/the/source/file/is/myfile /very/long/path/to/some/directory/
0
28.01.2016, 17:03
1 ответ

Быстрый просмотр прекрасного руководства для tcsh (1) обнаруживает:

   postcmd Runs before each command gets executed.

               > alias postcmd  'echo -n "^[]2\;\!#:q^G"'

           then executing vi foo.c will put  the  command  string  in  the
           xterm title bar.

Конечно, BEL и ] Символы ESC в этой документации, вероятно, не в форме, подходящей для копирования и вставки, и некоторые поставщики могут установить пользовательское приглашение по умолчанию, которое затем переопределяет любые escape-коды, созданные псевдонимом:

...$ echo $prompt
%%[%n@%m %c]%#
...$ set prompt = '> '
> alias postcmd 'echo -n "\033]2;\!#:q\007"'
> 
2
29.04.2021, 00:18

Теги

Похожие вопросы