如何防止 HP-UX 命令“less”弄乱我的提示?

elb*_*rna 8 less hp-ux more

我不喜欢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)

看这个:

(意大利语消息的意思是“正在重新格式化,请稍候”)

如何解决这个问题呢?

小智 1

屏幕交换是通过终端控制代码完成的。此类代码记录在 下terminfo(5)。屏幕保存/恢复中涉及的两个通常是smcuprmcup。第一个打开终端的特殊光标寻址模式(sm =“设置模式”),第二个将其关闭。通常,这两个将保存屏幕并恢复它。

如果屏幕恢复不起作用,则这些条目可能不适合您的终端类型。您可以使用该命令打印当前 terminfo 条目的内容infocmp。您需要查看这些条目 (smcuprmcup) 并将转义序列与终端手册进行比较,以确定它们的作用。您的终端可能与 terminfo 条目预期的终端略有不同。