Какова структура команды для открытия нового терминала и выполнения заданного набора команд на этом новом терминале?

Какова структура команды для открытия нового терминала и выполнения заданного набора команд на этом новом терминале?

Я использую Linux Mint 19.03

Прежде всего, могу вас заверить, что я прочитал большинство возможных вопросов, дубликатом которых, как вы могли подумать, является этот мой вопрос.

Теперь мне нужно ввести что-то в окне терминала, чтобы открыть новое окно терминала и выполнить команды.

Что-то вроде этого:

[the part I am asking of] "echo $PATH; read"

Этот код должен открыть новый терминал, переменная $PATH должна отображаться, а чтение должно использоваться только для остановки терминала.

Я пробовал  x-terminal-emulator -eили  x-terminal-emulator -c или  -x , но мне так и не удалось сделать это правильно. Все ответы на этом SE на похожие вопросы являются старыми ответами и использовали -e или -x, но там говорится, что эти опции устарели.

Итак, каков наиболее правильный способ достижения этой цели?

Спасибо.

решение1

x-terminal-emulatorне запускает оболочку саму по себе. Это листает только исполняемые файлы, которые нужно запустить с опцией -e.

Пока echoдоступен как исполняемый файл ( /bin/echo), readкак bashвнутренняя команда завершится ошибкой без bash. Поэтому вывод в новом окне выполняется быстрее, чем требуется для открытия окна, а при readошибке окно закрывается до того, как вы его увидите.

Это сработает:

x-terminal-emulator -e "bash -c 'echo $PATH; read'"

Теперь x-terminal-emulatorзапускается bashоболочка, которая затем выполнит echo $PATH; read. Поскольку echoи особенно readnow доступны как bashвнутренние команды, readкоманда не даст сбой и будет ждать ввода, что держит окно открытым до тех пор, пока не будет нажата клавиша.

Связанный контент