如何在 .bashrc 中定义变量以便我可以将其用作路径

如何在 .bashrc 中定义变量以便我可以将其用作路径

你好(抱歉我的英语不好)

我刚刚学会了如何使用别名永久设置特定值的键:

.bashrc

alias please='sudo'
alias go='cd'
alias destroy='rm -rf'

并且它运行得很好。但后来我想,如果我可以将我最喜欢的路径(如~/Music)存储在 .bashrc 中以方便使用,那将会多么有趣。所以我这样做了:

alias please='sudo'
alias go='cd'
alias destroy='rm -rf'

alias home='~'
alias work='~/Workstation'
alias back='..'

但没用。我也尝试过定义这样的变量: back='..' 但也没用。

我知道我可以这样做 alias gowork='cd ~/Workstation'
,但我希望能够使用我存储在许多不同命令中的路径,如下所示:

destroy work

我希望能够做这样的事情:

go back/Pictures

非常感谢你们提供的帮助!

答案1

“别名”是 shell 命令的缩写。您的定义alias home='~'不起作用,因为它没有指定有效的命令:

~$ ~
bash: /home/vanadium: Is a directory

因此,这种方法不适合您用可以在命令中使用的较短名称替换完整路径名。

一种方法是定义变量。可能不需要为您的主目录和上一个文件夹定义快捷方式:内置缩写~..分别尽可能短:我建议您直接采用这些。

对于其他路径,您可以定义环境变量,这些变量与别名类似,可以通过将它们包含在以下内容中使其成为永久变量.bashrc

export work=~/Workstation

然后可以在命令中使用它

cd $work

并且可以和你的其他别名一起使用,例如

destroy $work

处理带空格的路径名时需注意

• 如果变量中定义的路径名包含空格,则需要用引号括住变量,如下所示

cd "$work"

• 如果定义带有空格的变量,则需要保留由 bash 扩展的符号,例如~,不加引号,如下所示

export work=~"/Pathname with spaces"

相关内容