Я могу заставить сценарий ожидать нажатия клавиши, когда это открыло себя в новом окне терминала?

Я столкнулся с этой строкой

if [ ! -t 0 ]; then x-terminal-emulator -e "$0"; exit 0; fi

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

Теперь существует проблема что эта команда

read -n1 -r -p "Press any key to continue..." key

в этом случае не будет ожидать нажатия клавиши.

Мое предположение - то, что x-эмулятор-терминала может быть причиной, но я не нашел никакое другое решение дважды щелкнуть по файлу сценария в Наутилусе и получить новое окно терминала, куда сценарий будет работать.

0
задан 17 April 2018 в 09:27

2 ответа

Не может воспроизвести. Этот код

#!/bin/bash
if [ ! -t 0 ]; then x-terminal-emulator -e "$0"; exit 0; fi
echo "new window"
read -n1 -r -p "Press any key to continue..." key
echo bye

когда выполнено с ./foo.sh </dev/null открывается в новом терминале и ожидает нажатия клавиши.

Необходимо будет быть более явными о коде.

0
ответ дан 30 October 2019 в 02:05
read -r -p "Press any key to continue..." key

ожидает клавиши Return, неважно, если #!/bin/bash использовался или нет.

Когда

#!/bin/bash

наверху сценария,-n1 будет работать и будет ожидать любого ключа.

0
ответ дан 30 October 2019 в 02:05

Другие вопросы по тегам:

Похожие вопросы: