怎么“sudo !!”在bash中工作:
$touch /bin/1 touch: cannot touch `/bin/1': Permission denied $sudo !! sudo touch /bin/1
解决方法
bash支持历史扩展功能.历史扩展由’!’实现. “!”请参阅上一个命令.
在execve()系统调用之前,在读取命令行后立即执行历史记录扩展.
$touch /bin/1 touch: невозможно выполнить touch для «/bin/1»: Отказано в доступе $sudo strace !! sudo strace touch /bin/1 execve("/usr/bin/touch",["touch","/bin/1"],[/* 17 vars */]) = 0
bash扩展“sudo !!”到“sudo touch / bin / 1”然后运行命令.