Alias

使用別名並繼續

  • October 23, 2018

假設我有這個別名.bashrc

alias somedir="cd /var/www/site"

我如何somedir在說…cd命令中使用?

例如

cd somedir/app/

這樣做目前返回:

-bash: cd: somedir/app: 沒有這樣的文件或目錄

甚至可以以這種方式使用別名嗎?

bashshell 有一個CDPATHshell 變數,可以幫助您在沒有別名的情況下執行此操作:

$ CDPATH=".:/var/www/site"
$ cd app
/var/www/site/app

如果有app被呼叫的子目錄doc

$ cd app/doc
/var/www/site/app/doc

如果CDPATH值為.:/var/www/site,該cd命令將首先在目前目錄中查找命令行中給出的目錄路徑,如果沒有找到,它將在/var/www/site.

bash手冊:

CDPATH

命令的搜尋路徑cd。這是一個以冒號分隔的目錄列表,shell 在其中查找cd命令指定的目標目錄。一個樣本值為 ".:~:/usr"

請注意,CDPATH不應導出,因為您通常不希望此變數影響bash您從互動式會話執行的腳本。

引用自:https://unix.stackexchange.com/questions/476972