使用 tmux send 转义关键字

使用 tmux send 转义关键字

使用tmux从一个终端向另一个终端发送命令,我意识到

$ tmux send -t mySession "text" ENTER

正确发送text,但是

$ tmux send -t mySession "up" ENTER

再次发送text,可能是因为up不被解释为文本,而是被解释为关键字键向上箭头。

相似地,

$ tmux send -t mySession "3" ENTER

正确发送3,但是

$ tmux send -t mySession "-3" ENTER
tmux: unknown option -- 3
usage: send-keys [-lRM] [-t target-pane] key

失败并显示此错误消息,并且这种天真的尝试逃脱

$ tmux send -t mySession "\-3" ENTER

再次发送3,不是预期的-3

不管怎样,我很确定我错过了一些关于 tmux 解释和理解其参数的方式。我在这里缺少什么?

我如何确保mytmuxcommand "<text>" ENTER始终被解释为“发送实际值<text>然后发送 ENTER 键”

答案1

要按字面意思发送字符串,您可以使用选项-lto send-keys,但由于在 the 之后您可能仍然有更多选项,因此-l您需要使用类似''(空字符串)的内容来不再寻找开头的选项-

你不能将文字与像 Enter 这样的键名混合和匹配,所以最后你需要给出两个命令,例如:

tmux send-keys -t session -l '' -3 \; send-keys -t session Enter

相关内容