问题描述
我知道在bash中你可以在.bash_aliases文件中设置别名,这样你输入的命令就不需要是存储在系统二进制文件中的命令。有什么办法可以让别名进入zsh吗?
最佳解决思路
您可以使用以下语法通过”alias”命令执行此操作:
alias [ -gmrL ] [ name[=value] ... ]
对于”gmrL”开关,请参阅this guide, which is my reference.对于没有值的每个名称,zsh将打印名称以及之前别名的名称。如果没有参数,别名将打印所有已定义别名的值。
要定义一个或多个别名,只需输入即可
alias name1=value1 name2=value2 ... nameX=valueX
对于具有相应值的每个名称,zsh定义具有该值的别名。有关详细信息,请查看该链接;-)
更新:更新了死链接。
次佳解决思路
我在bash和zsh之间来回转换,并为两者使用相同的.aliases文件。它们共享相同的基本别名语法,因此您可以创建.aliases file并将其链接到.bashrc和.zshrc:
.bashrc中:
if [ -f ~/.aliases ]; then
. ~/.aliases
fi
.zshrc:
source $HOME/.aliases
Fwiw也可以在单独的.env file中使用环境变量声明来完成。
第三种解决思路
您通常将它们放在~/.zshenv
中。但是许多程序使用/bin/sh
(通常是bash
)而不是$SHELL
来执行shell命令,因此要在任何地方工作,您可能需要将bash
等效的别名放入~/.bash_aliases
中。