Bash 总是输出到 less,我该如何关闭它?

Bash 总是输出到 less,我该如何关闭它?

最近更新后bash似乎总是输出到less,这导致许多命令分页。有谁知道如何关闭吗less

示例输出systemctl status

systemctl状态的输出

答案1

systemctl( )的手册页man systemctl清楚地解释了此行为,并提供了更改它的选项:

$SYSTEMD_PAGER--no-pager未给出时使用的寻呼机;覆盖$PAGER.如果$SYSTEMD_PAGER和 都$PAGER没有设置,则依次尝试一组众所周知的寻呼机实现,包括less(1)和more(1),直到找到一个。如果没有发现寻呼机实现,则不会调用寻呼机。将此环境变量设置为空字符串或值“ cat”相当于传递--no-pager

因此,对于您的情况,解决方案是在登录时设置环境变量:

export SYSTEMD_PAGER=cat

答案2

更广泛地说,您可以在 bash 运行时配置中定义 PAGER 环境

# In .bashrc or .bash_profile

export PAGER='cat'

答案3

我经常登录到一个系统,在该系统中更改、等是一个坏主意~/root/.bashrc/etc/profile而且我并不总是记得参数名称SYSTEMD_PAGER

cat因此,作为一种懒惰的黑客,我只需通过or (我首选的寻呼机)管道输出less,如下所示:

systemctl status | cat
systemctl status | less

这个技巧cat也适用于许多其他程序。例如,如果我不想处理如何info导航其页面,我只需这样做:

info bash | less

相关内容