当前位置: 首页>>技术问答>>正文


在zsh中设置别名

,

问题描述

我知道在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中。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1507.html,未经允许,请勿转载。