Tmux
使用 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 鍵”*?
要按字面意思發送字元串,您可以使用
-l
to 選項,但在您需要使用類似 (空字元串) 之類的東西send-keys
後,您可能還有更多選項,以便不再尋找選項開頭.-l``''``-
您不能將文字與 Enter 等鍵名混合和匹配,因此最後您需要給出兩個命令,例如:
tmux send-keys -t session -l '' -3 \; send-keys -t session Enter