2013-02-01 10 views
5

Sto provando a verificare se un argomento è una directory o un file. Voglio mettere un/dopo ogni nome di directory e un * dopo ogni file eseguibile. So che usa -F per ottenere questa informazione ma non riesco a capirlo nel mio script.Controlla se l'argomento è un file o una directory

Ecco il mio codice:

echo -n "Please enter Directory name you wish to search: " 
read dir 

for filename in "/home/me/Desktop/$dir"/* 

do 

    if (-F $filename) 
    then 
    echo $filename 

    fi 
done 

risposta

9

[ -f "$filename" ] vale per i file, [ -d "$dirname" ] vale per le directory.

+0

Continuo a ricevere un errore dopo aver modificato il mio codice – Tomala

+0

@Tomala: quale errore? Come hai modificato il tuo codice? – choroba

+0

Voglio dire che non ci sono errori ma non visualizza "/" per la directory e "*" per un file, come succede quando digito semplicemente ls -F. Qualche idea ? ? – Tomala

Problemi correlati