Команды, которые вы передаете gnome-terminal
, заканчиваются bash
.Выполнение только bash
запускает интерактивную оболочку, которая будет работать до тех пор, пока не завершится вручную.Предупреждение «все еще запущенный процесс» относится к этой команде bash.
Вместо
gnome-terminal -x bash -c "sleep 5; pkill omxplayer; echo "done"; bash"
вы должны использовать только
gnome-terminal -- bash -c "sleep 5; pkill omxplayer; echo done"
Также обратите внимание, что вы не можете вкладывать кавычки (как уже предлагает подсвечивание синтаксиса).Либо напишите "... echo \"done\""
, либо просто "... echo done"
, так как кавычки не нужны для этой конкретной команды echo.В любом случае, echo
бесполезен, так как терминал закроется сразу после печати done
- у пользователя не будет изменений, чтобы увидеть сообщение.
Кстати, pkill gnome_terminal
сработало быс правильным именем: pkill gnome-terminal
(-
не _
).
Однако я удивился, почему вы вообще используете gnome-terminal
.Следующий скрипт также должен работать.Если вы хотите отобразить сообщение в диалоговом окне для пользователя, вы можете использовать zenity
:
while true; do
sleep 5
pkill omxplayer
zenity --info --text done # will wait until user closes information dialog
sh issfull.sh
sleep 2780.4
pkill omxplayer
sh nasatv.sh
done