如何撤消 bash 中意外的换行符?

如何撤消 bash 中意外的换行符?

如果我无意中在命令中添加了换行符,据我所知,撤消它的唯一方法是按 Ctrl+c 并再次键入命令。例如:

$ cat 'John's File'
> ^C
$ cat "John's File"

如果原始命令很长,这会很烦人。

有没有办法删除换行符并删除>提示,以便我可以返回到原始命令?

答案1

有没有办法删除换行符...?

实际上:不。但是有一些很好的解决方法。

由于您已经引入了Enter,因此该行已存储在执行的命令列表中。按ControlC退出命令,然后按 ,无需重新输入up-arrow。输入的命令再次出现,并且可以编辑。

答案2

man bash

       edit-and-execute-command (C-xC-e)
          Invoke an editor on the current command line, and execute the result as shell commands.  Bash attempts to invoke $VISUAL, $EDITOR, and emacs as the editor, in that order.

相关内容