我注意到当我三击(使用鼠标)从网站中选择文本(或命令),然后使用Ctrl+ Alt+将其粘贴到我的终端中v,然后使用命令运行立即(即它自动输入Enter密钥),但如果我选择(使用鼠标)和复制相同的命令并使用Ctrl++将其粘贴到终端中Alt,v它不会自动运行代码,而只是粘贴并等待输入在代码运行之前请先从我这里获取。
哪种机制可以做到这一点?因为我宁愿在运行命令之前先查看要运行的命令,但我注意到每次使用时都会自动完成此操作三击选择一个单词。
答案1
三击选择整行,包括末尾的换行符1。输入的是换行符(Unicode U+0A)Enter,因此 shell 会将其解释为应该执行命令2。
当你单击并拖动要选择行,通常不会选择末尾的换行符,除非将鼠标拖到下一行,或者除非您选择多行(当然,它们之间包括多个换行符)。
我知道的最佳解决方法是将命令复制粘贴到文本编辑器(例如 Gedit)中,查看它,然后将其复制粘贴到终端中。
以下是一些无害的命令,您可以尝试以不同的方式复制粘贴:
echo 1
echo 2
echo 3
true true
echo hello world
echo "$(whoami)"
脚注
- 据我了解,线被定义为细绳以换行符终止。
- 根据我的经验,大多数 shell 无法区分输入的字符串和粘贴的字符串。