有时候,当您使用bash进行 ctrl - v 时,即使您不打算运行它,它也会运行该命令-是否可以粘贴命令进入bash shell /终端,确保您实际上没有运行任何命令?
如果您可以通过编程方式设置终端提示上的内容,则可以在MacOS上使用bash进行操作:
export BASH_PROMPT="$(pbpaste)"
与我刚刚问过的另一个问题相关: How to change the value that's in the prompt
答案 0 :(得分:1)
在bash中使用^ X ^ E或Ctrl + X Ctrl + E打开$ EDITOR以输入命令。
根据需要粘贴和/或编辑尽可能多的行。完成后,保存并退出,然后bash将运行它。
(在vi
模式下,快捷方式为v
)
答案 1 :(得分:1)
有一个Readline变量:
enable-bracketed-paste
当设置为On
时,Readline将以一种方式配置终端,使其能够将每个粘贴作为单个字符串插入到编辑缓冲区中,而不是像对待每个字符一样从键盘读取。这样可以防止将粘贴的字符解释为编辑命令。默认值为off
。
要启用此功能,请输入类似
set enable-bracketed-paste on
进入您的~/.inputrc
。
这是在Bash 4.4 / Readline 7.0中引入的。
答案 2 :(得分:0)
是的。复制行时需要小心。如果复制到最后一个字符的末尾,则不会复制换行符,如果复制时稍稍超过最后一个字符或移至下一行,则将包括换行符。
如果在副本中包含换行符,则在粘贴时就像按Enter键。否则,不会。
我意识到这并没有回答您的问题,因为您正在询问粘贴而不是复制。我认为答案是否定的,您不能以不运行命令的方式粘贴,必须首先复制(^ C)。