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/profileSYSTEMD_PAGER

cat因此,作為一種懶惰的黑客,我只需通過or (我首選的尋呼機)管道輸出less,如下所示:

systemctl status | cat
systemctl status | less

這個技巧cat也適用於許多其他程式。例如,如果我不想處理如何info導航其頁面,我只需這樣做:

info bash | less

相關內容