防止一个命令在另一个命令之后执行

ale*_*ail 3 shell bash command-history

我希望 shell 警告我即将犯的潜在错误。

如何防止命令cmd2cmd1.

例如:

$ tar tf file.tar
$ rm !$
Run Code Online (Sandbox Code Playgroud)

在这里,我只是忘记了我列出了文件而不是提取其内容。

我正在寻找一个通用的解决方案,它根据前一个命令的名称和返回值以及当前命令进行选择。

don*_*lly 6

在 bash 中,您可以设置shopt -s histverify哪一个会阻止历史记录被一步扩展和执行。此处上述内容$ rm !$将扩展到$ rm file.tar第一次按下 时Enter,允许您在Enter再次按下执行之前进行检查或编辑。
一个更通用的解决方案将转向“按我的意思做”领域,需要一个程序来猜测你的意图。