bash仅在运行时显示输出

时间:2014-01-23 20:52:53

标签: bash

我正在尝试编写一个脚本,只在它运行时才将其输出显示给终端,就像'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会在终端运行时打印出来的东西)。

我该怎么做?

2 个答案:

答案 0 :(得分:2)

您正在谈论备用屏幕,您可以使用一对终端属性smcuprmcup来访问该屏幕。把它放在一个脚本中并运行它以进行一个小型演示:

tput smcup
echo hello
sleep 5
tput rmcup

答案 1 :(得分:1)

使用screen

screen ./myScript.sh