Ich verwende den man
Befehl immer dann, wenn ich Informationen zu einem bestimmten Befehl erhalten möchte. Aber das hilft mir nicht allzu viel, wenn dieser spezielle Befehl eine eingebaute Shell ist. Zum Beispiel:
man cd
kehrt zurück:
No manual entry for cd
Meine Frage ist: ist es möglich zu machen , man
auch für alle Shell - builtin Befehle funktionieren (wie cd
, alias
, history
usw.) und Schlüsselwörter (wie if
, while
, [[
, {
, etc.)?
command-line
manpage
Radu Rădeanu
quelle
quelle
echo
es, dass ein eingebauter Befehl eine Manpage hat?echo
ist auch ein Systembefehl (ausführbar) in/bin
. Sie können dies mit überprüfentype -a echo
. Dasselbe passiert mittime
und vielleicht mit anderen.info bash
?Antworten:
Der
help
Befehl , wenn sie mit verwendet wird-m
Option können Informationen über eingebaute Befehle im Format pseudo-Man - Page anzuzeigen. Zum Beispiel:Zeigt Informationen zu
cd
Befehlen in einem Format an, das fast genau einer man-Seite entspricht.Ausgehend von diesem Befehl können Sie den
man
Befehl.bashrc
wie folgt in eine Funktion in Ihrer Datei einbinden:Danach
man
funktioniert das auch für alle in die Shell eingebauten Befehle und Schlüsselwörter. Zum Beispiel:wird anzeigen:
quelle
man time
vs.man 1 time
zsh
Benutzer sind, nicht so viel Glück haben: bugs.launchpad.net/ubuntu/+source/zsh/+bug/1242108 (keine Manpages installiert)info
,help -m
, Warum können wir nicht einfach nur gute Mann Seiten in diesen Tagen? Trotzdem danke!man type
ergibt sich keine Beschreibung der Optionen "-a" oder "-t" in Ubuntu 14.04.4 .... und doch, sie 'sind da !Dies enthält Hilfefragmente für die eingebauten Befehle, allerdings in einem etwas komprimierteren Format als dem
help
entsprechenden.quelle
Sie können Handbuchseiten zur Verwendung eines POSIX-Systems für die Entwicklung als
Es werden Manpages für Shell-Buildins bereitgestellt.
Jetzt versuch mal,
quelle
Diese Lösung funktioniert einwandfrei, ist aber auch ein Scherz, denn das erste, was ich dachte, als ich Ihre Frage las, war: "Wer benutzt den Menschen noch buchstäblich von der Kommandozeile aus?" Werden nicht alle nur die von ihnen gewünschte Manpage googeln (so dass sie Lust auf uneingeschränktes Scrollen haben)? '. Dann wurde mir klar, dass die Websites, die ich bei Google normalerweise verwende, beide Arten von Befehlen aufweisen. Warum also nicht einfach eine einheitliche Manpage-Oberfläche für alle Befehle verwenden? Somit war dieser Spaß geboren.
Dies erfordert eine Internetverbindung für alle Einträge, die Sie noch nicht mindestens einmal nachgeschlagen haben. Außerdem benötigt es diese zwei kleinen Apps, die in einer Standardinstallation von Ubuntu fehlen:
Diese werden nicht unbedingt benötigt, tragen aber dazu bei, dass es ein bisschen schöner aussieht. Tidy bereinigt den HTML-Code und html2text formatiert diesen HTML-Code als formatierten Text (was normalerweise ziemlich trivial ist, da die meisten dieser Websites bereits textformatiert und nur in <pre> -Tags eingeschlossen sind.
Alles was Sie jetzt tun müssen, ist dies am Ende von
~/.profile
:Nach dem Abmelden und erneutem Anmelden sollten Sie Folgendes eingeben können:
und es wird die Manpage für angezeigt
cd
.Dabei wird ein Datenverzeichnis (/ usr / share / iman) verwendet, um die Netzwerkanforderungen zu minimieren (damit dies auch ohne Verbindung für bereits zuvor gefundene Einträge funktioniert) und um die Belastung dieser zufälligen Linux-Manpages-Site zu minimieren Ich habe mit den Systemeinträgen gefunden, die wir auch darin haben wollen). Wenn Sie diese Option nicht mehr verwenden, möchten Sie sie entfernen, um Speicherplatz freizugeben.
Hoffentlich ist der Rest ziemlich direkt.
quelle
iman
Funktionen gibt Ihre Funktion die gleiche Ausgabe zurück wieman bash-builtins
.