Dank der akzeptierten Antwort war es interessant, mehr über die Existenz von Utility zu erfahren manpage-alert
, einem Teil des devscripts
Pakets, das eigentlich ein Shell-Skript ist.
Ich habe versucht, zu installieren, devscripts
aber ich wurde aufgefordert, etwa 70 MB Abhängigkeiten zu installieren, und habe übersprungen.
Nach dem Herunterladen des devscripts
deb-Pakets ( apt download devscripts
), dem Extrahieren des deb und einem genaueren Blick auf das manpage-alert
Skript lautet die ganze Geschichte "under the hood", dass dieses Warnskript den Befehl ausführt:
man -w -S 1:8:6 <file>
(w = show location -S 1: 8: 6 begrenzt die Personensuche in den Abschnitten 1,8 und 6).
Dieser Vorgang wird in allen Dateien rekursiv unter Verzeichnissen durchgeführt /bin
, /sbin
, /usr/bin
, /usr/sbin
, und /usr/games
.
Darüber hinaus wird beim Weiterleiten man
an 2>&1
und auch beim Weiterleiten an >/dev/null
, wenn eine Datei einen gültigen Manpage-Speicherort hat, nichts gedruckt. Wenn sich jedoch man
beschwert, dass keine manuelle Eingabe erfolgt, wird diese Nachricht gedruckt.
Der Autor von entfernt manpage-alert
weiterhin die man
Fehlermeldung aus der Meldung "Siehe Mann 7 undokumentiert für Hilfe" und behält nur die erste Zeile bei = No manual entry for xxxx
.
Infolgedessen erhalten Sie in den folgenden Zeilen einen ähnlichen Ausdruck von Binärdateien, in denen Manpages fehlen, ohne das devscripts-Paket zu installieren:
F=( "/bin/*" "/sbin/*" "/usr/bin/*" "/usr/sbin/*" "/usr/games/*" )
for f in ${F[@]};do
for ff in $f;do
if ! mp=$(man -w -S 1:8:6 "${ff##*/}" 2>&1 >/dev/null);then
echo "$mp" |grep -v "man 7 undocumented" #man 7 undocumented is printed in a separate line.
fi
done
done
PS: ${ff##*/}
hält nur die Befehlsnamen Abisolieren den Pfad /usr/bin/
oder /bin/
oder was auch immer
Oben kann man auch als Einzeiler fahren:
gv@debi64:$ F=( "/bin/*" "/sbin/*" "/usr/bin/*" "/usr/sbin/*" "/usr/games/*" );for f in ${F[@]};do for ff in $f;do if ! mp=$(man -w -S 1:6:8 "${ff##*/}" 2>&1 >/dev/null);then echo "$mp" |grep -v "man 7 undocumented";fi;done;done
No manual entry for ntfsmove
No manual entry for ipmaddr
No manual entry for iptunnel
^C
PS: Sie können natürlich installieren, devscripts
da viele nette Hilfsprogramme / Skripte enthalten sind. Ich möchte nur wissen, was unter der Haube läuft :-)