/ / Bash: compgen Wie loswerden Warnmeldung [Option funktioniert möglicherweise nicht wie erwartet]? - Bash, Compgen

Bash: compgen Wie man Warnmeldung los wird [die Option funktioniert möglicherweise nicht wie erwartet]? - Bash, Compgen

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 № 1

Sie 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