我正在尝试编写一个脚本,只在它运行时才将其输出显示给终端,就像'less'或'ssh'命令一样。
当我启动所述脚本时,它将接管整个终端,打印需要打印的内容,然后当我退出脚本时,我将返回到我的终端,我的脚本运行的唯一记录将是显示命令本身的行。当我向上滚动时,我不想看到我的脚本输出。
[snoopdougg@machine /home/snoopdougg/logs]$ ls
alog.log blog.log clog.log myScript.sh
[snoopdougg@machine /home/snoopdougg/logs]$ whoami
snoopdougg
[snoopdougg@machine /home/snoopdougg/logs]$ ./myScript.sh
[snoopdougg@machine /home/snoopdougg/logs]$
(就像什么都没发生过......但myScript.sh会在终端运行时打印出来的东西)。
我该怎么做?
答案 0 :(得分:2)
您正在谈论备用屏幕,您可以使用一对终端属性smcup
和rmcup
来访问该屏幕。把它放在一个脚本中并运行它以进行一个小型演示:
tput smcup
echo hello
sleep 5
tput rmcup
答案 1 :(得分:1)
使用screen:
screen ./myScript.sh