我的 .bash_aliases 文件中还没有设置很多别名。直到最近我才发现它们有多么有用。
我发现自己对别名非常着迷,所以在文件变得太笨重之前,我想通过问一个非常简单的问题来澄清一些事情。一个别名会影响另一个别名吗,还是别名总是会恢复到原始命令?
一个例子可能会让这一点更清楚:
我已经ls
别名为ls -lF
.假设我还想别名d
为ls -l | grep -E "^d"
:d
现在使用ls -lF
代替ls
?如果是这样,这是否是 .bash_aliases 配置文件中的顺序问题?
man alias
没有启发我。
答案1
每个简单命令的第一个单词(如果未加引号)将被检查以查看它是否有别名。如果是这样,该单词将被别名的文本替换。
当您发生这种情况时使用别名,而不是您定义时的别名。这是一个例子:
$ alias a1='a2 hello'
$ alias a2='echo'
$ a1
hello
$ unalias a2
$ a1
bash: a2: command not found