Я хочу использовать script, чтобы открыть сеанс tmux с 6 окнами, каждый из которых находится в другом каталоге. Я начал с a script, я нашел и пробовал это первым:
tmux new-session -s xyz -n etc -d 'cd /etc'
tmux new-window -t xyz:1 -n var 'cd /var/log'
Но вскоре я узнал, что это не сработает, как я ожидал - окно будет закрыто после завершения команды оболочки.
Итак, моя следующая идея заключалась в том, чтобы запустить новую оболочку следующим образом:
tmux new-session -s xyz -n etc -d 'cd /etc; bash -i'
tmux new-window -t xyz:1 -n var 'cd /var/log; bash -i'
tmux new-window -t xyz:2 -n var2 'cd /var/log; bash -i'
tmux new-window -t xyz:3 -n var3 'cd /var/log; bash -i'
tmux new-window -t xyz:4 -n var4 'cd /var/log; bash -i'
tmux new-window -t xyz:5 -n var5 'cd /var/log; bash -i'
tmux new-window -t xyz:6 -n var6 'cd /var/log; bash -i'
tmux select-window -t xyz:1
tmux -2 attach-session -t xyz
Это почти работает. Но если я начинаю больше, чем около 4 окон, я часто вижу следующие ошибки bash в одном из окон после запуска:
bash: [: =: unary operator expected
bash: [: too many arguments
bash: [: =: unary operator expected
bash: [: =: unary operator expected
bash: [: =: unary operator expected
bash: [: =: unary operator expected
bash: [: too many arguments
bash: [: =: unary operator expected
bash: [: =: unary operator expected
bash: [: =: unary operator expected
bash: [: =: unary operator expected
bash: [: =: unary operator expected
Я понятия не имею, почему это происходит, но я все еще думаю, что Im не делает этого правильно. Есть ли лучший способ настроить сеанс tmux по нескольким каталогам?