GNU/Linux >> LINUX-Kenntnisse >  >> Fedora

Bash 4.3 „Multiple Dot“-Befehle schlagen lautlos auf Fedora fehl?

Ich habe dies gerade auf bash 4.3 bemerkt; Die genaue Versionsnummer ist 4.3.42(1)-release (x86-redhat-linux-gnu).

$ ..
$ ...
$ ....
$ .....

Warum wird „Befehl nicht gefunden“ nicht angezeigt?

$ ...
$ echo $? 
$ 127

Ich habe den $PATH überprüft und der alias nichts; Der Mann hilft auch nicht.
Die Bash läuft auf Fedora Linux, aber ich denke, es hat nichts mit dem Betriebssystem zu tun.

BEARBEITEN

Ich habe gerade festgestellt, dass dies für jeden Punktstartbefehl gleich ist

.za
.zaza
..za
..zaza

Akzeptierte Antwort:

Dies wurde durch die Command-not-found-Behandlung in Fedora verursacht.

Ausführen eines unbekannten Befehls (einschließlich ... usw. wenn kein Alias ​​passt) verursacht command_not_found_handle mit dem fehlenden Befehl als Parameter auszuführen (siehe /etc/profile.d/PackageKit.sh für seine Definition). Im gegebenen Szenario führt der Handler dann /usr/libexec/pk-command-not-found aus , wieder mit dem fehlenden Befehl als Parameter. Bisher pk-command-not-found ignoriert einfach jeden Befehl, der mit . beginnt :

if (argv[1][0] == '.')
    goto out;

und mit Code 127 beendet.

Dieses Verhalten wurde eingeführt, um Red Hat Nr. 1151185 zu beheben, wird auch in Bash referenziert, gibt keine Fehlermeldung bei nicht vorhandenen Befehlen aus, die mit einem Punkt beginnen, und weist einen Fehler auf, der eine Behebung anfordert (Red Hat Nr. 1292531). Es wurde in FC 27 mit Updates weitgehend behoben, seit PackageKit 1.1.8 (siehe diesen Commit):Jetzt werden Befehle mit führenden Punkten verarbeitet, nur noch . und .. werden ignoriert.


Fedora
  1. Gekoppelte Befehle mit Steueroperatoren in Bash

  2. Bash-Bang-Befehle:Ein Must-Know-Trick für die Linux-Befehlszeile

  3. UNIX / Linux :Beispiele für Bash-Verlaufsbefehle zum Wiederholen der letzten Befehle

  4. Bash-Exportbefehl

  5. Chroot schlägt fehl - Befehl `/bin/bash' kann nicht ausgeführt werden:Keine solche Datei oder Verzeichnis

Bash-Quellbefehl

Verlaufsbefehl in Linux (Bash-Verlauf)

Bash-printf-Befehl

So installieren Sie KVM auf Fedora 26 / Fedora 25

So korrigieren Sie einfach falsch geschriebene Bash-Befehle in Linux

So installieren Sie VSCodium auf Fedora 36 Linux