如果粘贴包含一个或多个返回字符的文本,请防止在Linux中意外执行命令

有时候,如果剪贴板上的文本被粘贴到shell中,并且它包含一个返回字符,它将会执行,即使这不是这个意图。 有时候,即使多行可能被错误粘贴,然后可能会运行意外的命令。

我理解在一个完美的世界里,这些错误永远不会发生,但是有没有办法来防止这种错误避免人为错误的风险?

如果您在Windows上使用PuTTY,那么这里有一个AutoHotKey脚本,它将检测您是否尝试将某些东西粘贴到具有一个或多个换行符的PuTTY中,如果是,则会确认您希望这样做。

提示:您可以按空格键或小键盘input键作为按“是”的简单方法。

注意:这个脚本使用ctrl + v粘贴到PuTTY中,但是如果你想把它钩入到PuTTY的右键点击粘贴默认function中,你可以用RButton代替^v

 #ifwinactive ahk_class PuTTY ^v:: var := clipboard var := RegExReplace(var, "\r\n?|\n\r?", "`n", lineNum) If(lineNum>0) { MsgBox, 4, , There are one or more newlines in what you're pasting, are you sure you want to continue? IfMsgBox Yes SendInput {Shift down}{Insert}{Shift Up} else IfMsgBox No return } else { SendInput {Shift down}{Insert}{Shift Up} } return #ifwinactive