Re: pushd ... popd
- From
- Boris Rudakov (2:5054/9.4)
- To
- Eugene M. Zheganin ()
- Date
- 2003-09-28T13:08:56Z
- Area
- PERM.UNIX
Hello Eugene!
26 сен 03 18:31, you wrote to me:
EZ> Приветствую, Boris!
EZ> 26 Sep 03 в 17:48, Boris Rudakov -=> Eugene M. Zheganin о "Re: pushd
EZ> ... popd":
BR>> PUSHD - это "запомнить текущий каталог и сделать cd"
BR>> POPD - "вернуться туда, откуда был последний PUSHD"
BR>> Вместе - стек, число уровней вложенности не ограничено.
BR>> Эквивалентной замены шелловскими средствами я придумать не могу
BR>> :( Никакие переменные или же утилитки никак помочь не могут :(
BR>> Либо это в самом шелле реализовано, либо - в морг :(
EZ> Не вижу реально никакого применения. Совершенно. На моей памяти ты
EZ> единственный человек, кому это надо.
Это полезно когда у тебя есть скрипт, который расчитан на работу из определенного каталога куда надо сделать cd, а потом вернуться. Саоме простое - сделать туда pushd не задумываясь где ты был, а потом вернуться по popd.
Присваивать
__olddir=`pwd`
....
cd $__olddir
unset __olddir
не выход:
* идет лесом рекурсия
* если делать вызов скрипта дочерним шеллом, идет лесом возможность из него
устанавливать переменные
* многословно. pushd ... popd - компактнее :)
Т.е. скрипт берет, пушается в каталог куда ему надо ,делает чего хочет, а потом попается туда, где был. Не разбираясь где это, не парясь с переменными - просто аозвращается туда где был. Удобно.
Акромя, это же самое удобно и в интерактиве. Сижу я в каталоге с длиииииным именем и нужно на секундочку прыгнуть в другой каталог, там повошкаться и прыгнуть обратно. Можно, можно поставить переменную в pwd, сходить куда надо, а потом - cd $переменная назад. Но, опять же, pushd ... popd - короче. И имя переменной помнить не надо :)
EZ> Но хоть убей, не понимаю, зачем это.
В частности, у меня как-то была софтинка, нашпигованная существенно-геморойными батниками. Не такими геморройными как гнутые сборочно/инсталяционные скрипты, но близко. Я их сильно упростил pushd ... popd, а за одно - сделал не зависящей от фиксированного пути, где она хотела лежать. В фидошном пакете, который у меня был до хпт, тоже было полно pushd ... popd. Надо потоссить: прыгнул в тоссер (не разбираясь откуда), поколупался и - обратно.
Удобно. В НТе же не зря эту феню ввели.
Речь не о том, что без этой фени жить нельзя. Речь о том, что с ней - удобнее :) Хорошая феня - карман не тянет :)
EZ> На этом остаюсь искренне Ваш,
EZ> Евгений.
Борис Рудаков, Как увидишь Сникерс - ты не ешь его,
BBR он с самим Манделлой цвета одного...
--- Be happy: BBR is looking at you !
* Origin: АлкАголь малыми дозами безвреден в любых количествах (2:5054/9.4)