Вот что я хочу сделать:
- Я хочу открыть терминал гномов с пятью вкладками в нем
- Я хочу запускать набор команд (5–10 команд) на каждой вкладке автоматически.
Первая вкладка: устанавливает прозрачный вид и после этого выполняет одну или несколько команд.
Вторая вкладка: выполняет вход на сервер и выполняет некоторые команды.
Третья вкладка: выполнять только некоторые команды
gnome-terminal --geometry=260x25-0+0 --tab -e "csh -c \"ct setview myViewName; cal\"" –tab --tab --tab
(работает нормально, вид установлен, но после этого команда не выполняется)
Вместо этого я попытался сделать это и запустил это в следующем сценарии:
gnome-terminal --geometry 125x18-0-26 --tab -t "some title" -e /home/ekido/Desktop/MyScripts/myScript
#!/usr/bin/expect
exec gnome-terminal --geometry 125x49-0+81 –tab
spawn ssh usert@server
expect "password"
send "*******\r"
expect "user@server100:~>"
send “some command\r"
expect "user@server100:~>"
send “some command"
interact
Если я удаляю exec gnome-terminal --geometry 125x49-0+81 –tab
строки из примера и вызываю скрипт из какого-то другого файла, он работает нормально - я захожу на сервер и все команды выполняются. Может кто-нибудь помочь мне решить это?
Написать сценарий, который я вызываю для каждой вкладки, не вариант, так как у меня будет 5 терминалов с 5-7 вкладками в конце, а это означает, что будет написано от 25 до 30 сценариев (стоит больше, чем помогает в моей проблеме).
linux
terminal
gnome-terminal
ekido
источник
источник
Ответы:
Кажется, это работает на моей машине:
Обратите внимание: как только процессы, выполняемые -e, завершатся, они завершатся. В этом случае bash загружается, выполняет все команды, которые вы ему передаете, и сразу же существует. Я вставил операторы read, чтобы дождаться ввода пользователя. Таким образом, эти вкладки не закроются, пока вы не нажмете клавишу, просто чтобы вы могли увидеть это в этом примере. Без них все выглядело бы так, как будто открывались только две вкладки, потому что две другие выполнялись бы и закрывались слишком быстро.
источник
Поскольку bash завершает работу после завершения команды, вы можете вызвать другой экземпляр
bash
после вашей команды, чтобы получить интерактивную оболочку:источник
Сохранить ниже как script.sh
добавьте script.sh в $ PATH и запустите его
См. Открытие новой вкладки в gnome-терминал с помощью командной строки .
источник