如何使用Shell命令运行tmux

时间:2019-10-22 14:10:01

标签: bash shell ubuntu tmux

我想在其中运行带有shell命令的tmux

我尝试: tmux new-session -d -s foo 'echo intmux' (我想稍后在bash脚本中使用它)

但是它不起作用。我希望这样:

1)Tmux打开新窗口(如tmux new)

2)命令echo intmux将被调用

2 个答案:

答案 0 :(得分:0)

  

1)Tmux打开新窗口(如tmux new)

您将看不到新会话,因为您使用-d(分离)标记创建了会话。

您想要的内容(执行命令并使外壳保持打开状态)可以轻松实现:

tmux new -s foo 'echo intmux; $SHELL'

绑定到特定(bash)shell的另一个棘手选项:

tmux new-session -s foo 'bash --rcfile <(echo ". ~/.bashrc; echo intmux")'

这可以保留默认行为(读取. ~/.bashrc)并传递您的任意命令。

答案 1 :(得分:-1)

您可以运行

tmux new-session '-s foo' \; neww '-t 2 -n echo' mc

但这会在运行您的命令的新会话中生成另一个窗口,因此您可能想要关闭第一个窗口

tmux new-session '-s foo' \; neww '-n echo' mc \; kill-window '-t 1'