2014-01-23 5 views
0

Я пытаюсь написать сценарий, который выводит его вывод на терминал только во время его работы, подобно командам «меньше» или «ssh».bash show output только во время выполнения

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

[[email protected] /home/snoopdougg/logs]$ ls 
alog.log  blog.log  clog.log  myScript.sh 
[[email protected] /home/snoopdougg/logs]$ whoami 
snoopdougg 
[[email protected] /home/snoopdougg/logs]$ ./myScript.sh 
[[email protected] /home/snoopdougg/logs]$ 

(Как ничто никогда не случалось ... но myScript.sh будет печатать вещи на терминале во время его работы).

Как это сделать?

ответ

2

Вы говорите об альтернативном экране, к которому вы можете получить доступ с помощью пары атрибутов терминала, smcup и rmcup. Поместите это в скрипт и запустить его для небольшой демо:

tput smcup 
echo hello 
sleep 5 
tput rmcup 
+0

Perfect, это именно то, что мне было нужно. Благодаря! – SnoopDougg

Смежные вопросы