任何人都可以帮助解释 , 和 的tmux
情况bash
吗exec
?我正在尝试使用 4 窗格窗口设置 tmux 会话。理想情况下,我想在 3 个窗格中运行一个命令:例如,一个 Ruby Thin 服务器和几个 Ruby 守护进程。这是我到目前为止所拥有的:
~/.bin/tmux-foo
:
#!/bin/sh
tmux new-session -d -s foo 'exec pfoo "bundle exec thin start"'
tmux rename-window 'Foo'
tmux select-window -t foo:0
tmux split-window -h 'exec pfoo "bundle exec compass watch"'
tmux split-window -v -t 0 'exec pfoo "rake ts:start"'
tmux split-window -v -t 1 'exec pfoo'
tmux -2 attach-session -t foo
~/.bin/pfoo
:
#!/bin/bash
cd ~/projects/foo
rvm use ree
# here I want to execute command1 2 3 or 4...
exec $SHELL
一切正常...但是当我ctlr-c
在运行瘦服务器的第一个窗格中时,它会停止瘦服务器并返回到外壳。但是,该命令不在历史记录中;即,如果我按向上键,我没有得到bundle exec thin start
命令……我从我的 bash 历史记录中得到了一些其他命令。我想知道是否有任何方法可以安排这些脚本,以便我获得 bash 历史记录中的命令。
另外......我已经尝试了很多组合exec
,exec $SHELL -s ...
和exec $SHELL -s ... -I
我不太确定发生了什么......
任何人都可以帮助解释这里发生的事情的总体思路tmux
吗?bash
exec