bash脚本 - 如何在启动新的tmux会话后执行命令

时间:2015-06-24 21:11:13

标签: bash tmux

例如:启动新的tmux会话,启动webserver(将日志发送到控制台),然后为编辑器启动第二个tmux窗口。

我尝试过不同的方式 - 但没有任何作用。

3 个答案:

答案 0 :(得分:2)

看看tmuxify(免责声明:我写了它)。

通过使用窗口,窗格和命令定义布局文件,自动启动tmux个会话。

答案 1 :(得分:0)

对于命令执行,请查看此answer

但您也可以预定义tmux会话的布局,尝试tmuxinator/tmuxinator

答案 2 :(得分:0)

您可以从~/.tmux.conf运行shell命令:

if-shell shell-command export I_AM_USING_TMUX=1

但是它似乎常常无法按预期工作...

运行TMUX时设置了环境变量tmux。然后,您可以有条件地从~/.bash_profile运行shell命令:

if [[ ! -z "$TMUX" ]]; then
    # run shell commands
fi      

或者,您可以export文件中的~/.tmux.conf您自己的环境变量(因为我已经从头开始导出了该变量),然后再次将其用于if中的~/.bash_profile条件:

if [[ ! -z "$GHCHOI_IS_USING_TMUX" ]]; then
    # run shell commands
fi