Shell

為常用路徑創建縮寫

  • January 6, 2019

我想知道是否可以創建可在終端中使用的縮寫。我知道alias命令,但不確定它是否可以用於我正在尋找的東西。

範例:假設我經常需要從文件夾複製東西~/Dropbox/thisfolder。我知道我可以通過創建別名來創建切換到該文件夾的快捷方式,例如,

alias tf="cd ~/Dropbox/thisfolder"

但是,如果我這樣做

alias justpath="~/Dropbox/thisfolder"

然後,我不能使用諸如cp justpath/blahfile ./. 是否可以使用其他方式來縮寫路徑來做這樣的事情~/Dropbox/thisfolder

在任何 shell 中,您都可以定義一個變數。

justpath=~/Dropbox/thisfolder

(注意:這裡沒有引號,否則~不會被擴展。)用 a 前綴$來使用它:

cp $justpath/blahfile .

請注意,除非您使用的是 zsh,否則如果值包含空格或萬用字元*?\[,則在使用時需要在變數擴展周圍加上雙引號。

justpath=~/'Dropbox/that folder'
cp "$justpath/blahfile" .

Zsh 擁有(通常如此)更好的設施。您可以定義使用語法訪問的命名目錄~foo,概括其中foo是使用者名並且~foo是該使用者的主目錄的情況。

alias -d justpath=~/Dropbox/thisfolder
cp ~justpath/blahfile .

對於更複雜的情況,zsh 提供動態命名目錄

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