为常用路径创建缩写

为常用路径创建缩写

我想知道是否可以创建可在终端中使用的缩写。我了解alias命令,但不确定它是否可以用于我正在寻找的东西。

示例:假设我经常需要从文件夹复制内容~/Dropbox/thisfolder。我知道我可以通过创建别名来创建切换到该文件夹​​的快捷方式,例如,

alias tf="cd ~/Dropbox/thisfolder"

但是,如果我这样做

alias justpath="~/Dropbox/thisfolder"

然后,我无法使用诸如 之类的命令cp justpath/blahfile ./。是否可以使用其他方式缩写路径来执行类似的操作~/Dropbox/thisfolder

答案1

在任何 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 提供动态命名目录

相关内容