сценарий для запоминания dir и всегда CD к нему вместо корневого каталога

http://www.mail-archive.com/mutt-users@mutt.org/msg44341.html

Это предлагает использовать 'pager_format', заставить его показать дату буквы в локальном часовом поясе:

набор pager_format = "% 4C %Z % [! %b %e в %I: % M %p] %.20n %s %* - (%P)"

3
26.11.2013, 01:53
2 ответа

Что-то как следующее должно работать:

setdir() {
    cd "$1"
    export SETDIR_DEFAULT="$1"
}

my_cd() {
    cd "${1-${SETDIR_DEFAULT-$HOME}}"
}

Обратите внимание, что это функции, не отдельный сценарий. Вы не можете сделать этого из отдельного сценария, так как он не смог бы влиять на родительскую оболочку, которая называет его.

Если Вы действительно хотите переопределить cd (не делайте этого), замена cd с builtin cd.

5
27.01.2020, 21:14

Я знаю, что ответ может быть немного запоздалым, но вам может понравиться идея CDPATHvaiable. Это позволяет cdобращаться к содержимому каталогов в этой переменной откуда угодно. Вот пример:

$ mkdir -p test/{1,2,3}
$ cd test/
$ mkdir 1/{a,b,c}
$ export CDPATH=/tmp/test/1
$ ls
1  2  3
$ cd a
$ pwd
/tmp/test/1/a
$ cd ~
$ cd b
$ pwd
/tmp/test/1/b

Подробнее см.man:

   CDPATH    A <colon>-separated list of pathnames 
             that refer to directories. The cd utility 
             shall use this list in its attempt to  change  
             the directory,  as described in the DESCRIPTION. 
             An empty string in place of a directory 
             pathname represents the current directory. If
             CDPATH is not set, it shall be treated as if 
             it were an empty string.
1
27.01.2020, 21:14

Теги

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