GNU/Linux >> Linux Esercitazione >  >> Fedora

I comandi "multiple Dot" di Bash 4.3 falliscono silenziosamente su Fedora?

L'ho appena notato su bash 4.3; il numero di versione esatto è 4.3.42(1)-release (x86-redhat-linux-gnu).

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

Perché il "comando non trovato" non viene richiesto?

$ ...
$ echo $? 
$ 127

Ho controllato il $PATH e l'alias niente; Nemmeno l'uomo aiuta.
Il bash viene eseguito su Fedora Linux, ma penso che non sia correlato al sistema operativo.

MODIFICA

Ho appena notato che è lo stesso per qualsiasi comando di avvio del punto

.za
.zaza
..za
..zaza

Risposta accettata:

Ciò è stato causato dalla gestione del comando non trovato in Fedora.

Esecuzione di un comando sconosciuto (incluso ... ecc. se nessun alias corrisponde) provoca command_not_found_handle da eseguire con il comando mancante come parametro (vedi /etc/profile.d/PackageKit.sh per la sua definizione). Nello scenario indicato, il gestore esegue quindi /usr/libexec/pk-command-not-found , sempre con il comando mancante come parametro. In precedenza, pk-command-not-found semplicemente ignorato qualsiasi comando che inizia con . :

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

ed è uscito con il codice 127.

Questo comportamento è stato introdotto per correggere Red Hat #1151185, è anche referenziato in Bash non stampa alcun messaggio di errore su comandi non esistenti che iniziano con punto e presenta un bug che richiede una correzione (Red Hat #1292531). È stato in gran parte risolto in FC 27 con aggiornamenti, da PackageKit 1.1.8 (vedi questo commit):ora i comandi con punti iniziali vengono elaborati, solo . e .. vengono ignorati.


Fedora
  1. Comandi accoppiati con operatori di controllo in Bash

  2. Comandi Bash bang:un trucco da conoscere per la riga di comando di Linux

  3. Comandi Linux dalla A alla Z

  4. UNIX / Linux:esempi di comando bash history per ripetere gli ultimi comandi

  5. comando di esportazione bash

Comando sorgente Bash

Comando della cronologia in Linux (Cronologia di Bash)

Comando Bash printf

Come installare KVM su Fedora 26 / Fedora 25

Come correggere facilmente i comandi Bash errati in Linux

Come installare VSCodium su Fedora 36 Linux