Я хочу использовать сценарий для открытия сеанса tmux с 6 окнами, каждое в разных каталогах. Я начал с скрипта, который нашел и попробовал сначала:
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
Это почти работает. Но если я запускаю более четырех окон, я часто вижу следующие ошибки 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
Я понятия не имею, почему это происходит, но все же думаю, что делаю это неправильно. Есть ли лучший способ настроить сеанс tmux в нескольких каталогах?