Tatsächlich wird verwendet, was auch immer in MANPAGER
der PAGER
Umgebungsvariablen oder angegeben ist.
Abhängig von Ihrer man
Implementierung und Version kann es auch einen Befehlszeilenschalter geben, um den Pager anzugeben.
Mit der Implementierung von man-db verwende ich die folgenden Methoden:
MANPAGER=cat man man
PAGER=cat man man
MANOPT='-P cat' man man
man -P cat man
Um es dauerhaft festzulegen, fügen Sie es einfach Ihrer ~/.bashrc
(oder einer anderen von Ihrer Shell verwendeten) Initialisierungsdatei hinzu:
export MANPAGER=cat
Das funktioniert auch mit einigen älteren man
Implementierungen, obwohl MANOPT
man-db spezifisch ist:
export MANOPT='-P cat'
(Besser nicht so einstellen PAGER
. Diese wird auch von vielen anderen Anwendungen verwendet.)
Es könnte auch eine globale Konfigurationsdatei geben. man-db hat /etc/man_db.conf
oder /etc/manpath.config
. Dort können Sie einstellen:
DEFINE pager cat
Dies wird aber leider nur berücksichtigt, wenn weder gesetzt MANPAGER
noch PAGER
gesetzt.
Mann bei der Arbeit
quelle
~/.bashrc
, Sie könnten auch den Export in einem bedingten wickeln , so dass es nur den Pager setzt , wenn sie der entsprechende Terminal / Emulator ist:if [ "x$TERM" = "xxterm" ]; then export MANPAGER=cat; fi
; offensichtlich durchxterm
den entsprechenden Emulator ersetzen .MANPAGER
. Ich habe das Wort "leider" verwendet, weil das Verhalten auch für "leider" giltPAGER
. Dies ist eine generische Einstellung (die von vielen Tools verwendet wird), und ich würde es vorziehen, eine bestimmte Einstellung (die nur von einem Tool verwendet wird) nicht zu überschreiben , auch wenn dies der Fall ist Eine davon ist die Systemebene.PAGER=cat man
alias man='PAGER=cat MANPAGER=cat man'
Leiten Sie einfach die Ausgabe von
man
ancat
?quelle
man
Implementierung entweder 1) ein Fehler auftritt, 2) Formatierungscodes im Terminal angezeigt werden, 3) alle Formatierungen entfernt werden und 4) wie erwartet funktioniert.man
der eingestellte Pager anscheinend verwendet,MANPAGER
auch wenn es sich bei der Ausgabe um eine Datei oder eine Pipe handelt. Und wenn der Pager istless
, dann ist alles gut, weil esless
sich so verhält,cat
als wäre die Ausgabe eine Pipe ... Aber wenn Sie etwas anderes verwenden (wie Vim, das ich benutze), dann ist es nicht so gut.Probieren Sie diese Befehle aus, um eine manuelle Ausgabe ohne Pager zu generieren.
man ls | cat
(erzeugte feste Breite)man -P cat ls
(generierte variable Breite)Ich war auf einem GNU-Linux-System
quelle
Ein anderer Blickwinkel: Ähnlich wie bei Tonys Antwort.
Sie können die manuelle Ausgabe auch in eine Datei umleiten und mit Ihrem bevorzugten Texteditor anzeigen oder sogar Lesezeichen, Kommentare usw. hinzufügen.
Ich habe eine Kopie der Bash-Manpage sowie nur die Abschnitte zur Bash-Ablaufsteuerung und zu Bash-Test-Flags als Textdateien in meinem Bin-Verzeichnis gespeichert, damit ich sie direkt in meinen Texteditor (Kate) laden kann, während ich gerade bin Bash-Skripte schreiben.
Warnung: Abhängig von Ihrem System und der Manpage kann der obige Befehl zu Formatierungsinformationen und Steuerzeichen in der Datei führen.
Um dies zu vermeiden, gehen Sie folgendermaßen vor
LESS='+/^TIPS' man man
:quelle