Например - выполненный man
в терминале. Я не знаю, как они сделали это - но это работает способом, что это не производит все в терминал - при нажатии q, это уходит и возвращается к терминалу (и отдает весь вывод, который мы использовали прежде),
Это - то, что я хочу вкратце:
$ ./myscript.sh
Это превращается в это:
Hello!
Please press q to make this go away!
После нажатия Q:
$ ./myscript.sh
$
Я знаю, что это возможно, я просто не добираюсь, как это работает. Это имеет некоторое отношение к сохранению вывода до, и печать его назад к терминалу после завершения myscript.sh
? Если так, как? В противном случае также, как?
Как указано в этой теме , вы можете переключать экран, используя tput smcup
и tput rmcup
, и просто оборачивать его в цикл while, как показано ниже:
tput smcup
#Do stuff here
echo "Press Q to quit"
while true
do
read -n 1 -s
if [[ $REPLY =~ ^[Qq]$ ]]
then
tput rmcup
fi
done