Таким образом, я знаю, ввожу ли я терминал гнома или xterm, новое окно будет высунуто. Затем я проверил страницу справочника на эти два, ничто соответствующее не нашло.
Затем я заметил под Mac, можно сделать это с открытой программой. Но это кажется в соответствии с Linux дело не в этом тривиальный.
У кого-либо есть опыт?
Я бы предпочел использовать параметр -x
, который обеспечивает более надежную работу, чем -e
:
gnome-terminal -x bash -c "<my command or script>; exec bash"
Параметр -x
означает - выполнить
- оставшуюся часть командной строки внутри терминала.
И наша команда bash -c "<команды > "
. Это означает, что мы выполняем новую оболочку bash
, которая должна запускать некоторые -c "
.
У нас есть два разделенных (точкой с запятой ; == new строка
) <команды>
.
Первая команда <моя команда или сценарий>
выполнит то, что мы хотим.
Вторая команда exec bash
имеет значение - оставаться открытым в текущем окне gnome-terminal
. Есть другие возможные подходы для этого. В текущем случае команда exec
заменит текущий образ процесса новым образом процесса - другими словами, он «убьет» текущий процесс и выполнит новый ( bash
) с текущим PID.
Обновление: Синтаксис -x / -e
теперь устарел - Ubuntu 18.04. Новый рекомендуемый способ:
gnome-terminal -- bash -c "<my command or script>; exec bash"
$ HOME
: bash -c "cd $ HOME /; ... "
Дополнительные примеры использования этого формата:
gnome-terminal -e cmd
откроет окно терминала и запустит в нем cmd
.
Вы можете просто ввести CTRL ALT T , и вы откроете новый терминал.
Попробуйте gnome-terminal -e " bash -c command; bash "
Другой подход, при котором окно остается открытым, - это использование xterm:
xterm -hold -e cmd
Параметр удержания сохраняет окно открытым.