Вы можете использовать eval
для запуска команды, сохраненной в строке (или на основе вывода другой программы):
eval 'echo Hello World'
eval $(magic-ssh-commmand-generator)
Изman bash
:
eval [arg...]
The args are read and concatenated together into a single command.
This command is then read and executed by the shell, and its exit status
is returned as the value of eval. If there are no args, or only null
arguments, eval returns 0.
Терминал Gnome имеет возможность удерживать терминал открытым при выходе из команды, как показано ниже. Настройка, которая должна держать его открытым после сбоя, чтобы вы могли видеть любые ошибки (s ). Другие терминалы могут иметь аналогичную опцию.
Если Gnome Terminal не используется по умолчанию (и если вы установили его, при необходимости )вы можете явно вызвать его из файла .desktop
для запуска приложения Python:
[Desktop Entry]
Version=1.0
Name=My App
Exec=gnome-terminal --command 'python3 /home/pi/my_app.py'
Terminal=false
Type=Application
Categories=Application;
Обратите внимание, что для параметра Terminal
установлено значение false
, потому что вы не хотите запускатьgnome-terminal
в терминале.
Параметр поведения при выходе задается для каждого профиля, поэтому вы можете создать профиль (, например. «Hold Open» ), только для ситуаций, когда вы хотите, чтобы терминал оставался открытым при выходе, и измените параметр Exec
на что-то вроде следующего, чтобы указать использование этого профиля:
Exec=gnome-terminal --profile='Hold Open' --command 'python3 /home/pi/my_app.py'
По какой-то причине аргументы командной строки Gnome Terminal не задокументированы в доступной -справочной документации с графическим интерфейсом пользователя. Чтобы просмотреть их полный список, запустите gnome-terminal --help-all
.