我知道在 bash 中,您可以在文件中设置别名.bash_aliases
,这样您输入的命令就不需要是存储在系统二进制文件中的命令。有什么方法可以将别名放入其中吗zsh
?
答案1
我在 bash 和 zsh 之间来回切换,.aliases
对两者都使用同一个文件。它们共享相同的基本别名语法,因此您可以创建一个.aliases
文件并将其链接到.bashrc
和.zshrc
:
.bashrc
if [ -f ~/.aliases ]; then
. ~/.aliases
fi
.zshrc
source $HOME/.aliases
FWIW 这也可以通过环境变量声明来完成,在单独的.env
文件。
答案2
您可以使用以下语法通过“alias”命令执行此操作:
alias [ -gmrL ] [ name[=value] ... ]
对于“gmrL”开关,请参阅本指南是我的参考。
对于每个没有值的名称,zsh 将打印该名称以及它之前的别名。如果没有任何参数,alias
则打印所有已定义别名的值。
要定义一个或多个别名,只需输入:
alias name1=value1 name2=value2 ... nameX=valueX
对于每个具有相应值的名称,zsh 都会用该值定义一个别名。有关更多信息,请查看该链接。;-)
答案3
您通常将它们放入 中~/.zshenv
。但许多程序使用/bin/sh
(通常bash
)而不是$SHELL
来执行 shell 命令,因此为了使其在任何地方都能正常工作,您可能无论如何都需要将bash
别名的等效项放入 中~/.bash_aliases
。
答案4
.zshrc
在文件底部添加此行(假设你的别名位于~/.profile
):
source ~/.profile