Ich habe mich gefragt, ob es eine Möglichkeit gibt, alle optionalen Argumente eines Befehls in bash herauszufinden, ohne die Manpage öffnen und viele unerwünschte Informationen durchgehen zu müssen.
Eg:
Input: <some_command> cat
Output: -A, --show-all equivalent to -vET
-b, --number-nonblank number nonempty output lines, overrides -n
-e equivalent to -vE
-E, --show-ends display $ at end of each line
-n, --number number all output lines
-s, --squeeze-blank suppress repeated empty output lines
-t equivalent to -vT
-T, --show-tabs display TAB characters as ^I
-u (ignored)
-v, --show-nonprinting use ^ and M- notation, except for LFD and TAB
--help display this help and exit
--version output version information and exit
command-line
bash
abhigyanghosh30
quelle
quelle
man
Seite bietet, aber ich vergesse, was es ist. Ich weiß, dass es im Ubuntu-Podcast (für das britische LoCo) im Abschnitt "Kommandozeilen-Liebe" bereitgestellt wurde, aber keine Ahnung, wie lange es her ist (in den letzten 1,5 bis 3 Jahren) (geschweige denn, dass in vielen Blogs darüber geschrieben wurde). Möglicherweise wurde es auch nicht standardmäßig für Ubuntu installiert.-h
, die Manpage und die verschiedenen Befehlszeilen-Abschlussskripte für die verschiedenen Shells. In Powershell, ein Cmdlet erklärt seine Syntax an dem System einmal , und alles anderes (Tabulatorvervollständigung, auch mit Drop - Down - Menü, kurzer Hilfe, langer Hilfe, auch Syntax - Hervorhebung in dem Powershell - IDE) wird von der mitgelieferten Hülle als Dienstleistung an .Antworten:
Es ist keineswegs universell, aber viele Befehle bieten eine Zusammenfassung der Verwendung als Antwort auf ein
-h
oder ein--help
Argument, zquelle
--help
nimmt an, dass es ein GNU-Befehl ist; Wenn aus einem BSD / Unix-Hintergrund a-h
häufiger Hilfe ist, können zwei Versuche erforderlich sein.--help
gibt die Verwendung die Optionen trotzdem zurück , obwohl dies eine ungültige Option ist. Zum Beispiellspci --help
Der beste Ansatz hängt davon ab, welche Art von Befehl Sie ausführen. Sie können es versuchen
-h
oder--help
wie von steeldriver vorgeschlagen , jedoch für einige Befehle, die möglicherweise nicht alle verfügbaren Optionen anzeigen . Im Idealfall werden alle Optionen angezeigt. Selbst dann könnten sie jedoch nicht alle erklärt werden. In offiziellen Dokumentationen wie einerman
oder einerinfo
Seite werden normalerweise alle Optionen angezeigt und erläutert - oder zumindest alle, die die Entwickler von den Benutzern erwarten. (Manchmal gibt es nicht dokumentierte Optionen.)Zuerst empfehle ich zu überprüfen, ob der Befehl ein externer Befehl oder eine eingebaute Shell ist . Sie können dies mit dem
type
Befehl tun . Inbash
können Sie das-a
Flag an dentype
Befehl übergeben, um anzuzeigen, was ausgeführt werden würde , wenn die erste Übereinstimmung nicht vorhanden wäre:Für mich (und wahrscheinlich für Sie)
ls
ist ein Alias. Die Alias-Erweiterung ist nicht rekursiv, daher verwendet derls
Inls --color=auto
nicht den Alias, sondern/bin/ls
stattdessen die zweite Auflistung . Dies ist ein Pfad zu einer ausführbaren Datei und damit ein externer Befehl.Um die Dokumentation zum
ls
Einschließen aller verfügbaren Optionen anzuzeigen , würde ich daher ausführenman ls
.Einige Fälle
cat
sind einfach:Befehle, die in die Shell integriert sind, haben normalerweise keine eigenen Handbuchseiten, aber Sie können das
help
integrierte verwenden, um mehr über sie zu erfahren:So können Sie laufen,
help history
um etwas zu lernenhistory
oderhelp help
etwas darüber zu lernenhelp
.Für einige integrierte Funktionen, wie z
compgen
.help
B., zeigt die integrierte Version alle Optionen an, erklärt jedoch die meisten nicht. Wenn Sie weitere Informationen zu einer eingebauten Shell benötigen, können Sie die Handbuchseite fürbash
(man bash
) oder die längere und vollständigere Dokumentation konsultieren, indem Sie sie online ausführeninfo bash
oder besuchen . Möglicherweise ist der Abschnitt über integrierte Funktionen besonders nützlich.Einige Befehle sind sowohl als externe ausführbare Dateien als auch als integrierte Shell-Dateien verfügbar. Dies ist ein weiterer Grund, warum die Verwendung von
type -a
first hilfreich sein kann:Wenn Sie beispielsweise ausführen
man printf
, werden Ihnen keine Informationen zu der-v
Option angezeigt , da/usr/bin/printf
diese nicht unterstützt wird. Diebash
eingebaute Shell funktioniert jedoch und der Text, der beim Ausführen angezeigt wird,help printf
listet und erklärt ihn.Schließlich ist es für Manpages nützlich zu wissen, dass Sie sie online lesen können .
quelle