Для этого я предлагаю использовать терминальные мультиплексоры типа tmux
или screen
. Используя их, вы можете запускать свою программу в фоновой консоли и время от времени проверять ее вывод или делать уведомления в случае какой-либо активности на консоли с вашей программой. Или даже запустите его в отдельной панели и просмотрите вывод своей программы, выполняя другую работу в другой панели.
Комментарий @berndbausch верен, что вам нужны одинарные, а не двойные кавычки. Вы также можете воспользоваться опцией -l
для su(1)
для имитации полного входа в систему :
# sudo su -l deploy -c 'echo $PATH'
Когда я попробую:
$ echo $PATH
/home/bbausch/bin:/home/bbausch/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
$ sudo sh -c "echo $PATH"
/home/bbausch/bin:/home/bbausch/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
$ sudo sh -c 'echo $PATH'
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
Обратите внимание на одинарные кавычки. Это связано с тем, что оболочка выполняет раскрытие переменных в строках с двойными -кавычками перед вызовом команды. Однако то, как обрабатываются переменные среды, можно настроить в файле sudoers
.