在 shell 中的命令的任何位置可以使用缩写吗?

在 shell 中的命令的任何位置可以使用缩写吗?

我有一个目录,它的路径很长。但是,我经常使用这个目录,我无法移动它(WSL Windows 目录)。我通常使用 z 快速跳转到它,这很有用,但是当我需要在命令行中指定路径时,我希望有一个缩写。例如,我使用的 Fish shell 有一个内置的“abbr”功能,在输入后按空格键会自动展开文本。但是,这仅在缩写是行中的第一个文本时才有效。如果我想从我的主目录中复制某些内容,我会输入

cp filename.txt /c/mnt/Users/%name%/program/directory/subdirectory

但我希望有这样的东西

cp filename.txt udir

它将 udir 扩展至我想要的路径。

答案1

你可以只使用一个变量:

udir="/c/mnt/Users/%name%/program/directory/subdirectory"
cp filename.txt $udir

这并不是您想要的,因为您需要“$”,但仍然可以节省相当多的输入。

相关内容