Как я могу заставить сценарий удара отобразить свой вывод как 'человек', не заполнив терминал?

Например - выполненный man в терминале. Я не знаю, как они сделали это - но это работает способом, что это не производит все в терминал - при нажатии q, это уходит и возвращается к терминалу (и отдает весь вывод, который мы использовали прежде),

Это - то, что я хочу вкратце:

$ ./myscript.sh

Это превращается в это:

Hello!
Please press q to make this go away!

После нажатия Q:

$ ./myscript.sh
$

Я знаю, что это возможно, я просто не добираюсь, как это работает. Это имеет некоторое отношение к сохранению вывода до, и печать его назад к терминалу после завершения myscript.sh? Если так, как? В противном случае также, как?

2
задан 12 August 2018 в 10:31

1 ответ

Как указано в этой теме , вы можете переключать экран, используя 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
1
ответ дан 2 December 2019 в 04:42

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

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