Если у вас установлен iselect , вы можете сделать что-то вроде этого:
$ alias dirselect='cd $(iselect -a $(dirs -l -p | sort -u))'
$ dirselect
Это даст вам полноэкранное интерактивное меню со стрелками, основанное на ncurses, для выбора каталога в компакт-диск
в.
Если вы не использовали pushd
в текущем сеансе оболочки, список каталогов в меню начинается только с одной записи - вашего текущего каталога. Если есть только одна запись, этот псевдоним dirselect
будет просто cd
к нему без экрана меню, поэтому он фактически ничего не делает (кроме запрета cd -
что-либо делать полезно)
Чтобы добавить новый каталог в список, используйте pushd dir
(или pushd -n dir
, чтобы добавить каталог без cd
-ing в одновременно)
Вы можете предварительно заполнить стек pushd
, выполнив что-то вроде следующего в вашем .bashrc
или ~ / .bash_profile
:
for d in /var/tmp /tmp /path/to/somewhere/interesting ; do
pushd -n "$d" > /dev/null
done
Вы можете удалить записи с помощью popd
или popd -n
.
См. help pushd
, help popd
и help dirs
в bash для получения дополнительной информации. И, конечно же, man iselect
.
Кстати, iselect
, вероятно, доступен в предварительно упакованном виде для вашего дистрибутива. Это для Debian, Ubuntu и т. Д. И, вероятно, для других тоже.