![无法别名!! (双重感叹号)在bash中](https://linux22.com/image/156935/%E6%97%A0%E6%B3%95%E5%88%AB%E5%90%8D%EF%BC%81%EF%BC%81%20%EF%BC%88%E5%8F%8C%E9%87%8D%E6%84%9F%E5%8F%B9%E5%8F%B7%EF%BC%89%E5%9C%A8bash%E4%B8%AD.png)
我试图在 bash 中创建一个别名
alias r='!!'
我的想法是创建一个简单的别名 r 来运行前面的命令而不是使用 !! (双重感叹号)运行最近的命令,因为它很难键入。我知道我可以alias r='fc -s'
完成这项工作,但我试图理解为什么我无法为!!
.我想了解!!
bash 的含义以及为什么我无法为其添加别名。我可以为其他 bash 内置命令创建别名,例如alias cdir='cd'
,但是!!
如果我无法正确解释,为什么不呢?
答案1
bash 中的历史扩展(其中 是其中!!
的一部分)发生在该行被拆分为单词和扩展别名之前。因此,无法在别名或函数中使用任何历史扩展。
这与原著中的不同csh
。