使用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
要按字面意思发送字符串,您可以使用选项-l
to send-keys
,但由于在 the 之后您可能仍然有更多选项,因此-l
您需要使用类似''
(空字符串)的内容来不再寻找开头的选项-
。
你不能将文字与像 Enter 这样的键名混合和匹配,所以最后你需要给出两个命令,例如:
tmux send-keys -t session -l '' -3 \; send-keys -t session Enter