我试图在 bash 中创建一个别名
alias r='!!'
我的想法是创建一个简单的别名 r 来运行前面的命令而不是使用 !! (双重感叹号)运行最近的命令,因为它很难键入。我知道我可以alias r='fc -s'
完成这项工作,但我试图理解为什么我无法为!!
.我想了解!!
bash 的含义以及为什么我无法为其添加别名。我可以为其他 bash 内置命令创建别名,例如alias cdir='cd'
,但是!!
如果我无法正确解释,为什么不呢?
答案1
bash 中的历史扩展(其中 是其中!!
的一部分)发生在该行被拆分为单词和扩展别名之前。因此,无法在别名或函数中使用任何历史扩展。
这与原著中的不同csh
。