Esiste un modo per fare da script linux (.sh) un controllo in una directory per vedere se è presente un determintao file?
per favore mi date il codice?
grazie mille
Esiste un modo per fare da script linux (.sh) un controllo in una directory per vedere se è presente un determintao file?
per favore mi date il codice?
grazie mille
codice:[ -a "$nome_file" ] && echo "Il file esiste" || echo "il file non esiste"
Powered by Fedora & CentOS
Here I am, brain the size of a planet..
prima di nome file posso mettere anche il percorso?
Originariamente inviato da FANG
prima di nome file posso mettere anche il percorso?oppure:codice:info bash
http://www.google.com/search?hl=en&q...ash+pr&aqi=g10
Si, esempio:Originariamente inviato da FANG
prima di nome file posso mettere anche il percorso?
comunque, scaricati QUESTA guida sulla bash per ulteriori dettagli.codice:... $file=/tmp/pippo [ -a "$file" ] && echo "Il file $file esiste" || echo "il file $file non esiste" ...
Powered by Fedora & CentOS
Here I am, brain the size of a planet..
Scusa kruskaiev ma i tuoi esempi non sono corretti.
Per fare un test su un file devi usare -f e non -a (man test)
test e` molto utile, esiste un operatore per ogni tipo di situazione (file, directory, link, grandezze, ecc).codice:touch /tmp/file.txt file="/tmp/file.txt" test -f $file; echo $? 0
@FANG sarai sorpreso di sapere che [ e test sono la stessa cosa! Prova questo esempio:
test -f /tmp/file.txt; echo $?
[ -f /tmp/file.txt ]; echo $?
si sono sorpreso e molto...
pensavo un altra cosa...se usassi una cosa del genere andrebbe bene?
if [-d "$directory"]
then
if [-e "$File"]
ce_il_file=1
else
fi
Per fare cosa? Prova:
test -e /tmp; echo $?
test -d /tmp; echo $?
test -f /tmp; echo $?
vedrai che l'unico a fallire (*) e` il terzo (man test).
* $? riporta il risultato dell'ultima operazione eseguita:
0 = true = riuscito
1 = false = fallito
Facendo quei due if non vado a verificare se esiste la directory e se esiste il file?
Nel primo caso verifichi che esista la directory (-d) nel secondo verifichi che esista un oggetto file (-e), ma che puo` essere una directory, un file regolare, un link simbolico, un hardlink, un file di block, ecc. Se vuoi verificare che sia un file regolare devi usare -f.
man test, leggi la man page di test
A domani, ciao.