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