GNU/Linux >> Linux Esercitazione >  >> Linux

-bash:/bin/cd:Nessun file o directory di questo tipo - esegue automaticamente ls dopo cd

Il tuo sistema (come molti sistemi Unix) non ha un cd esterno comando (almeno non in quel percorso). Anche se ne avesse uno, il ls ti darebbe l'elenco delle directory della directory originale. Un comando esterno non può mai cambiare la directory per il processo chiamante (la tua shell).

Rimuovi l'alias dall'ambiente con unalias cd (e rimuovi anche la sua definizione da qualsiasi file di inizializzazione della shell a cui potresti averlo aggiunto).

Con una funzione di shell, puoi farlo funzionare come cd normalmente lo fa, con un'ulteriore invocazione di ls alla fine se il cd riuscito:

cd () {
    command cd "[email protected]" && ls -lah
}

o,

cd () { command cd "[email protected]" && ls -lah; }

Questo chiamerebbe il cd comando integrato nella tua shell con gli stessi argomenti della riga di comando che hai fornito alla funzione. Se il cambio di directory ha avuto successo, il file ls correrebbe.

L'command Il comando impedisce alla shell di eseguire la funzione in modo ricorsivo.

La definizione della funzione (come scritto sopra) andrebbe nel file di avvio della tua shell. Con bash , potrebbe essere ~/.bashrc . La definizione della funzione sarebbe quindi attiva nella prossima nuova sessione di shell interattiva . Se vuoi che sia attivo ora , quindi esegui la definizione della funzione così com'è al prompt della shell interattiva, che la definirà all'interno della tua attuale sessione interattiva.

Sui sistemi in cui cd è disponibile come comando esterno, anche questo comando non cambia la directory per il processo chiamante. L'unico uso reale di tale comando è fornire la conformità POSIX e fungere da test per verificare se sarebbe possibile cambiare directory in una particolare .


Sono stato in grado di risolverlo rimuovendo nuovamente l'alias con unalias cd


Ciò è accaduto perché:

$ type cd

cd is a shell builtin

Linux
  1. Come risolvere '/usr/bin/dirmngr':nessun file o directory di questo tipo

  2. /usr/bin Vs /usr/local/bin Su Linux?

  3. Perché /bin/sh punta a /bin/dash e non a /bin/bash??

  4. Errore con gradlew:/usr/bin/env:bash:Nessun file o directory

  5. cp:impossibile creare la directory:file o directory non presenti

Kubuntu mostra un errore all'accesso (file:///usr/share/sddm//themes/breeze/main.qml:no Such File Or Directory)?

Installa i binari in /bin, /sbin, /usr/bin e /usr/sbin, interazioni con --prefix e DESTDIR

Cambia directory ed esegui il file in un comando

-bash:/usr/bin/virtualenvwrapper.sh:file o directory non presenti

/dev/sdb:nessun file o directory di questo tipo (ma esiste /dev/sdb1 ecc.)

chroot fallisce - impossibile eseguire il comando `/bin/bash':File o directory non presenti