我想在其中运行带有shell命令的tmux
我尝试:
tmux new-session -d -s foo 'echo intmux'
(我想稍后在bash脚本中使用它)
但是它不起作用。我希望这样:
1)Tmux打开新窗口(如tmux new)
2)命令echo intmux
将被调用
答案 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'