粘贴命令时停止终端自动执行

对,这是一个有点烦人的function,因为这种情况会发生,有时则不会,非常奇怪。

我将一个命令粘贴到终端,以便调整其参数, 有时它会执行第二次粘贴它。 有时它没有。

这包括尴尬(在IRC上发布荒谬的评论)到危险。

如何关闭此function? 当我粘贴到终端时,我永远不会希望终端自动执行。

没有自动执行。 您可能还在命令后复制换行符(或更多)。

如果粘贴带有中断的命令,shell(命令行)会认为您自己点击了中断(Enter,Return)按钮。


这个答案只能解释为什么OP会产生不良行为。 但是,在另一个答案中, OP的问题有一个真正的解决方案 。

在粘贴之前键入#然后粘贴你的行。 它不会执行,你可以删除#并在修改完成后按Enter键。

一个真正的解决方案是使用ctrl-x ctrl-e打开编辑模式,然后将剪贴板安全地粘贴到您选择的编辑器中(通常是emacs或vim)。 编辑完命令后,保存并退出,它将在命令行中运行。 对于长命令或复杂命令,这是一个好习惯,特别是在将提交哈希粘贴到git命令时,并且可以帮助您避免长期运行中的一些可怕结果。

可以通过设置VISUAL和EDITOR变量来更改编辑器(这些变量具有不同的含义,请参见此处 )。