一个别名会影响另一个别名吗?

一个别名会影响另一个别名吗?

我的 .bash_aliases 文件中还没有设置很多别名。直到最近我才发现它们有多么有用。

我发现自己对别名非常着迷,所以在文件变得太笨重之前,我想通过问一个非常简单的问题来澄清一些事情。一个别名会影响另一个别名吗,还是别名总是会恢复到原始命令?

一个例子可能会让这一点更清楚:

我已经ls别名为ls -lF.假设我还想别名dls -l | grep -E "^d":d现在使用ls -lF代替ls?如果是这样,这是否是 .bash_aliases 配置文件中的顺序问题?

man alias没有启发我。

答案1

别名(Bash 手册第 6.6 节):

每个简单命令的第一个单词(如果未加引号)将被检查以查看它是否有别名。如果是这样,该单词将被别名的文本替换。

当您发生这种情况时使用别名,而不是您定义时的别名。这是一个例子:

$ alias a1='a2 hello'
$ alias a2='echo'
$ a1
hello
$ unalias a2
$ a1
bash: a2: command not found

相关内容