Ich habe dies gerade bei Bash 4.3 notiert. Die genaue Versionsnummer lautet 4.3.42 (1) -release (x86-redhat-linux-gnu).
$ ..
$ ...
$ ....
$ .....
Warum wird der "Befehl nicht gefunden" nicht angefordert?
$ ...
$ echo $?
$ 127
Ich überprüfte das $PATH
und das alias
Nichts; Der Mann hilft auch nicht.
Die Bash läuft unter Fedora Linux, aber ich denke, es hängt nicht mit dem Betriebssystem zusammen.
BEARBEITEN
Ich habe dies nur für jeden Punktstartbefehl gleich notiert
.za
.zaza
..za
..zaza
sudo -s
vergessen. So habe ich es entdeckt.command_not_found_handle
funktionAntworten:
Dies wurde durch die in Fedora nicht gefundene Behandlung verursacht.
Das Ausführen eines unbekannten Befehls (einschließlich
...
usw., wenn kein Alias übereinstimmt) führtcommand_not_found_handle
dazu, dass der fehlende Befehl als Parameter ausgeführt wird (siehe/etc/profile.d/PackageKit.sh
Definition). In dem gegebenen Szenario wird der Handler dann/usr/libexec/pk-command-not-found
erneut mit dem fehlenden Befehl als Parameter ausgeführt. Bisher wurden alle Befehle, die mit : beginnen ,pk-command-not-found
einfach ignoriert..
und mit Code 127 beendet.
Dieses Verhalten wurde eingeführt , um Red Hat # 1151185 zu beheben. Es wird auch darauf verwiesen, dass Bash bei nicht vorhandenen Befehlen, die mit dot beginnen , keine Fehlermeldung ausgibt und einen Fehler aufweist, der eine Korrektur anfordert ( Red Hat # 1292531 ). Es wurde größtenteils in FC 27 mit Updates behoben, seit PackageKit 1.1.8 (siehe dieses Commit ): Jetzt werden Befehle mit führenden Punkten nur verarbeitet
.
und..
ignoriert.quelle
unset -f command_not_found_handle
in Ihrem ~ / .bashrc deaktivieren. Oder deinstallieren Sie das Fedora-Paket, das die Funktion "Befehl nicht gefunden" bietet (auf Debian führe ichapt-get purge command-not-found
jede Debian-Box aus, die ich erstelle. Ich mache dasselbe für dasbash-completion
Paket. Beide sind weitaus ärgerlicher als jeder Vorteil, den sie bringen)Similar command is: '..'
mit...
..
, wird explizit nach.
und gesucht..
.