我不喜欢moreHP-UX 上的输出,因此我将其less用作寻呼机:
PAGER=less
Run Code Online (Sandbox Code Playgroud)
它的输出很好,但是,在 Linux 上,当我使用man然后退出时,我返回到 shell,并且显示看起来和我离开时一样,但是在 HP-UX 上,当我回到 shell 时,会出现是提示前的部分行,很像下面的命令产生的:
echo -e "text \c"
Run Code Online (Sandbox Code Playgroud)
看这个:
在 HP-UX 上:
user@hpux2:~$ man ls
Riformattazione in corso. Attendere...user@hpux2:~$
Run Code Online (Sandbox Code Playgroud)(意大利语消息的意思是“正在重新格式化,请稍候”)
在 Linux 上:
user@linux:~$ man ls
user@linux:~$
Run Code Online (Sandbox Code Playgroud)如何解决这个问题呢?
小智 1
屏幕交换是通过终端控制代码完成的。此类代码记录在 下terminfo(5)。屏幕保存/恢复中涉及的两个通常是smcup和rmcup。第一个打开终端的特殊光标寻址模式(sm =“设置模式”),第二个将其关闭。通常,这两个将保存屏幕并恢复它。
如果屏幕恢复不起作用,则这些条目可能不适合您的终端类型。您可以使用该命令打印当前 terminfo 条目的内容infocmp。您需要查看这些条目 (smcup和rmcup) 并将转义序列与终端手册进行比较,以确定它们的作用。您的终端可能与 terminfo 条目预期的终端略有不同。