我的收件箱中有很多短邮件,这很烦人,即使是通过寻呼机(较少)发送短消息,也需要按“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\nRun Code Online (Sandbox Code Playgroud)\n给你的.mailrc. 如果没有值,SLES 中可用的版本mailx将使用当前屏幕高度;POSIX 不\xe2\x80\x99t 指定未设置值时的行为crt,因此符合 POSIX 标准的方法是将其设置为 99999 (始终跳过寻呼机)或工作环境的典型值(仅使用必要时使用寻呼机)。
分页器也可以替换为非分页显示工具,例如 cat在启动时mailx从类似 Bourne-shell 的解释器
PAGER=cat mailx\nRun Code Online (Sandbox Code Playgroud)\n如果您的寻呼机是less,您可以使用其-F选项(再次使用sh语法)要求其退出而不提示:
LESS=F mailx\nRun Code Online (Sandbox Code Playgroud)\n如果您想-F与您中设置的其他选项结合使用LESS结合使用,请使用
LESS="$LESS -F" mailx\nRun Code Online (Sandbox Code Playgroud)\n这通常可以通过导出LESS=F(以及任何其他less在 shell 启动脚本中导出(以及默认情况下要启用的
在 530 之前的版本中less,您可能需要结合使用-F和-X(LESS=FX )。