在分离的tmux会话中运行命令


24

这可能很简单,但我真的不知道您是如何做到的。我已经阅读了手册页并用谷歌搜索没有结果。

问题:如何在分离的tmux窗口中运行命令?

示例:我希望我的分离窗口“ foo”运行“ ls”,但我想从另一个终端执行。

我试过类似的东西:'tmux -t foo ls'没有结果。

Answers:


39

命令是sendsend是一个键序列,因此请相应地对待它(例如,您可能需要ENTER)。用指定目标-t。您可能需要foo.0或foo.1,具体取决于要打的窗格。

tmux send -t foo.0 ls ENTER

send是的缩写send-keys,位于手册页中,但在此英里的文本中可能很难找到。


好答案。非常有用,而且很有魅力。谢谢!
Accatyyc 2011年

这个问题最雄伟的解决方案!非常感谢!
3bdalla

2
请注意,要在特定会话中定位特定窗口,请使用冒号=>tmux send-keys -t foosession:foo.0 ls ENTER
nickspoon

如果要在单词之间发送空格,则应在命令周围加上两个撇号。ENTER命令仍应位于外部。这在UBUNTU 16.04上对我tmux send -t session_name 'echo durp'
有用
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.