Ich mache ein einfaches bash completion Programm mit compgen
Wenn Sie jedoch die Option -F verwenden, Die Warnmeldung wird sofort angezeigt und unterbricht meine Arbeitsliste
Ich benutze Ubuntu 12.04. Wie kann ich das loswerden oder es debuggen? Vielen Dank
kithokit@09:54:25 ~ $ compgen -F a
bash: compgen: warning: -F option may not work as you expect
Antworten:
0 für die Antwort № 1Sie können die Warnung wie folgt loswerden:
compgen -F a 2>/dev/null
aber das wird leider auch jede echte Fehlermeldung von compgen verwerfen.
Soweit ich aus dem Bash-Quellcode ersehen kann, gibt es keinen anderen Weg, die Nachricht zu unterdrücken, aber ich habe nicht wirklich tief geschaut.
0 für die Antwort № 2
Von man bash
compgen [Wahl] [Wort]
Generieren Sie mögliche Komplettierungstreffer für das Wortentsprechend den Optionen, die jede Option sein kann, die von dem vollständigen Built-in mit Ausnahme von -p und -r akzeptiert wird, und schreibt die Übereinstimmungen in die Standardausgabe. Wenn Sie die Optionen -F oder -C verwenden, haben die verschiedenen Shell-Variablen, die von den programmierbaren Completion-Funktionen gesetzt werden, keine nützlichen Werte, obwohl sie verfügbar sind.
Wie Sie sehen, haben Sie wahrscheinlich eine Variable gesetzt, um das Verhalten der Bash-Komplettierungsfunktionen und der Option zu ändern -F
zu compgen
ignoriert diese Variablen und Werte und informiert Sie mit der obigen Warnung darüber.
Verweise:
[1] http://linux.die.net/man/1/bash