我的收件箱中有很多短邮件,这很烦人,即使是通过寻呼机(较少)发送短消息,也需要按“q”才能查看下一条消息(例如)。
我阅读了有关寻呼机的手册页,但这些都不起作用:
PAGER= mailx
set pager=
unset pager
unset PAGER
如何禁用寻呼机?我正在使用 SLES 15 SP3 的 mailx 12.5。
答案1
有两个主要问题阻碍了该问题的简单解决:
如中所示手册
mailx
页(SLES 提供 Nailmailx
),“传递给的环境中的变量mailx
不能被取消设置。”PAGER
(从内部设置mailx
)不能有参数,所以类似set PAGER="LESS=-F less"
或 的东西set PAGER="sh -c LESS=-F less"
不起作用。更糟糕的是,如果您尝试类似的操作,则不会有任何输出set PAGER="less -F"
。
所以替代方案是:
mailx
如果消息适合单个屏幕,可以通过设置选项crt
(通常需要终端的行数)配置为跳过寻呼机:set crt
给你的
.mailrc
.如果没有值,则版本mailx
将使用当前屏幕高度;POSIX 没有指定以下情况下的行为:crt
未指定值时的行为,因此符合 POSIX 标准的方法是将其设置为 99999(始终跳过寻呼机)或工作环境的典型值(仅在必要时使用寻呼机)。分页器也可以换成非分页显示工具,例如
cat
mailx
当从类似 Bourne shell 的解释器启动时:PAGER=cat mailx
如果您的寻呼机是,您可以使用其选项(再次使用语法)
less
要求其退出而不提示(如果它要显示的文本量少于屏幕的文本量):-F
sh
LESS=F mailx
如果您想
-F
与变量中设置的其他选项结合使用LESS
,请使用LESS="$LESS -F" mailx
通常可以通过在 shell 启动脚本中导出(以及默认情况下要启用的
LESS=F
任何其他选项)来启用此功能。less
在 530 之前的版本中
less
,您可能需要组合-F
和-X
(LESS=FX
)。