разделить несколько панелей и SSH на сервер, запустить команду, запустить журналы

260
Deuces

Я использую Ubuntu 18.04.1 и пытаюсь добиться следующего.

Я открываю свой терминал и загружаю tmux. Затем я запускаю свой скрипт bash, чтобы разбить окно на 4 разные панели. Затем я выбираю каждую отдельную панель и ssh на сервер, переходим в каталог, запускаем программу, а затем записываем журналы для указанной программы.

Вот пример того, как выглядит мой bash-скрипт.

tmux rename-window 'Logs'; tmux split-window -h; tmux split-window -v ; tmux select-pane -t 0; tmux split-window -v ; tmux select-pane -t 0 ; tmux send-keys 'ssh user@server.com' enter ; tmux send-keys 'p@sw0rd' enter ; tmux send-keys 'cd dir/' enter ; tmux send-keys './program/' enter ; tmux send-keys 'tail -f logs/program.log' enter ; 

опять же, я делаю это для каждой панели. Когда сценарий заканчивается. Панели успешно разделены, и все 4 панели показывают следующее.

bashFolder:$ ./tmuxBash (*this line is only shown on the original pane*) ssh user@server.com  p@sw0rd cd dir/ tail -f logs/program.log me@laptopname:~home/bashFolder$ ssh user@server.com user@server.com's password: 

тогда все 4 панели все еще ожидают пароль, который я пытался отправить после первоначального вызова ssh.

Этот bash работал на машине с Windows, работающей под Linux через виртуальную машину (vagrant). Я не уверен, сломал ли я скрипт до того, как перешел на Linux.

Я ценю любую помощь, и мои извинения за формат, это мой первый пост.

0
Возможно, вам нужно подождать между отправкой команды `ssh`, прежде чем отправлять пароль, так как ssh сбросит ввод при запуске, поэтому, если вы введете« вперед », он будет потерян. Попробуйте `sleep 5` или аналогичный после строки tmux ... ssh. meuh 6 лет назад 0

0 ответов на вопрос

Похожие вопросы