View Full Version : verificare l'esistenza di un file in Bash Scripting
Ciao a tutti, per uno script (in bash scripting) che devo fare mi servirebbe sapere come posso verificare se un file che specifico esiste o meno.. infatti lo script dovrebbe agire in modo diverso se un file esiste o meno.. ho trovato vari esempi di if usando anche il for ma niente che fa al caso mio..
Ho visto anche l'esistenza di test -r ( [ ) ma non so come poter usarlo insieme a if..
Grazie a tutti sin da ora.. :)
Ciao
if [ -e nome_file ]
then
#.....
grazie mille provo subito ;)
ciao
Nel caso non l'avessi ancora fatto ti consiglio di leggere la pagina di manuale di bash... ;)
grazie del suggerimento figulus, ho letto buona parte del manuale di Bash Scripting... pero' ora sorge un altro problema.. come posso verificare se un dato che prendo con il read e' nullo, cioe' vuoto? Classico esempio del premere invio..
#!/bin/sh
echo scrivimi qualcosa
read qualcosa
if [ $qualcosa = " " ] o qualcosa del genere
then
echo non mi hai detto niente
else
echo bravo
fi
inoltre in caso che una condizione non sia soddisfata posso fare una specie di "goto 1" per ritornare a richiedere senza riscrivere tutto?
grazie mille
ciao
p.s.: per il primo problema ho provato anche ad usare -s ma niente , il file non ha mai valore 0 bytes anche se vuoto :(
sbomberino
13-06-2004, 10:38
ciao per verificare se il file esiste o meno nella if lo controlli con -f
if [ -f $nome_file] ; then
blablabla
fi
per fare quello che dici con il controllo del testo immesso con richiesta fino a che non viene immesso come vuoi tu :
tasto = ""
while [ $tasto != "" ]
do
read tasto
if [ $tasto = "" ] ; then
echo "non hai scritto niente"
fi
done
grazie mille sbomberino , pero' mi da un errore:
./a.sh: line 4: [: !=: unary operator expected
il codice usato e':
echo tasto ?
while [ $tasto != "" ]
do
read tasto
if [ $tasto = "" ] ; then
echo "non hai scritto niente"
fi
done
Sai dirmi dove ho sbagliato?
Grazie ancora
sbomberino
13-06-2004, 12:18
prova con i doppi apici
while [ "$tasto" != "" ]
;)
al limite ad inizio script
#!/bin/ksh
Ciao
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.