在 bash 终端中复制、粘贴和编辑多行命令

在 bash 终端中复制、粘贴和编辑多行命令

带有大量参数的命令有时会使用斜线转义换行符,以便于在网络上阅读。下面是一个愚蠢的例子

echo -n \
"hello" \
"world"

我不知道如何“正确”地粘贴和编辑它

粘贴到 bash 中,你会得到

$ echo -n \
> "hello" \
> "world"

现在,如果我使用 OSX 上的后退箭头键导航,我只能编辑带有 的行> "world",而不能编辑前两行。通常我必须将其粘贴到临时文件中才能修复命令。

有没有更好的方法来执行此粘贴以允许编辑任何行?bash设置是否可以更好地完成这项工作?

答案1

当您在多行上拥有这样的命令时,如果您在 emacs 模式(通常是默认模式)下使用 bash,ctrl+x ctrl+e它将打开您最喜欢的编辑器,如您的 EDITOR 变量所指定。

或者您可以输入fc,这将在您输入的最后一个命令上打开编辑器,然后您可以根据需要进行编辑,然后随意退出,然后它将被执行。

相关内容