Tmux

使用 tmux send 轉義關鍵字

  • September 28, 2018

用於將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 鍵”*?

要按字面意思發送字元串,您可以使用-lto 選項,但在您需要使用類似 (空字元串) 之類的東西send-keys後,您可能還有更多選項,以便不再尋找選項開頭.-l``''``-

您不能將文字與 Enter 等鍵名混合和匹配,因此最後您需要給出兩個命令,例如:

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

引用自:https://unix.stackexchange.com/questions/471997