Bash sempre gera menos, como posso desligar isso?

Bash sempre gera menos, como posso desligar isso?

Após uma atualização recente, bashparece sempre gerar saída para less, o que resulta na paginação de muitos comandos. Alguém sabe como desligar less?

Exemplo de saída parasystemctl status

Saída do status systemctl

Responder1

A página man de systemctl( man systemctl) explica esse comportamento claramente e oferece opções para alterá-lo:

$SYSTEMD_PAGERPager para usar quando --no-pagernão for fornecido; substituições $PAGER. Se nem $SYSTEMD_PAGERnem $PAGERforem definidos, um conjunto de implementações de pager bem conhecidas será tentado sucessivamente, incluindo less(1) e more(1), até que uma seja encontrada. Se nenhuma implementação de pager for descoberta, nenhum pager será invocado. Definir esta variável de ambiente como uma string vazia ou o valor " cat" é equivalente a passar --no-pager.

Portanto, no seu caso, a solução é definir a variável de ambiente ao fazer login:

export SYSTEMD_PAGER=cat

Responder2

De forma mais ampla, você pode definir o ambiente PAGER na configuração do tempo de execução do bash

# In .bashrc or .bash_profile

export PAGER='cat'

Responder3

Costumo entrar em um sistema onde é uma má ideia alterar ~/root/.bashrc, /etc/profile, etc. E nem sempre me lembro do nome do parâmetro SYSTEMD_PAGER.

Então, como um hack preguiçoso, simplesmente canalizo a saída por meio de catou less(meu pager preferido), assim:

systemctl status | cat
systemctl status | less

Esse truque cattambém funciona para muitos outros programas. Por exemplo, se eu não quiser lidar com a infonavegação nas páginas, simplesmente faço o seguinte:

info bash | less

informação relacionada