Non elenca i file come previsto


4

Sto affrontando il seguente problema:

output1

sh-3.2$ ls -R
.:
#dir1  #dir2

./#dir1:
f1  f2  f3

./#dir2:
f1  f2  f3

Output2

sh-3.2$ ls #dir1
#dir1  #dir2

Come visto in Output1 la directory #dir1ha un file, f1 f2 and f3ma quando faccio un ls nella directory ottengo un output diverso come visto in Output2 Output2 sembra suggerire che #dir1ha delle directory simili #dir1 #dir2.

Cosa sta succedendo qui? È un collegamento ciclico?

bash 

Bello vedere che hai una buona risposta, ma ho votato per passare a Super User, che credo sia un sito più appropriato ...
dmckee,

Risposte:


8

#è un meta char shell che segna l' inizio di un commento . Quindi

ls #dir1

è effettivamente lo stesso di

ls

che elenca tutto nel CWD.

prova a scappare da #

ls \#dir1

o o citando l'intero nome della directory:

ls '#dir1'

o

ls ./#dir1

Grazie mille amico. Io e il mio progetto ci siamo trovati in difficoltà

3

Nel comando ls #dir1, la shell interpreta il carattere hash come l'inizio di un commento, in modo da ottenere un elenco della directory di lavoro corrente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.