Torna indietro   Hardware Upgrade Forum > Software > Linux, Unix, OS alternativi

Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 09-06-2004, 14:21   #1
Maestro
Senior Member
 
Iscritto dal: Jun 2002
Messaggi: 442
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
__________________
-
Maestro è offline   Rispondi citando il messaggio o parte di esso
Old 09-06-2004, 14:35   #2
kingv
Senior Member
 
L'Avatar di kingv
 
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
Codice:
if [ -e nome_file ]
then
#.....
kingv è offline   Rispondi citando il messaggio o parte di esso
Old 09-06-2004, 14:58   #3
Maestro
Senior Member
 
Iscritto dal: Jun 2002
Messaggi: 442
grazie mille provo subito

ciao
__________________
-
Maestro è offline   Rispondi citando il messaggio o parte di esso
Old 09-06-2004, 19:49   #4
figulus
Senior Member
 
L'Avatar di figulus
 
Iscritto dal: Mar 2003
Città: Paris
Messaggi: 912
Nel caso non l'avessi ancora fatto ti consiglio di leggere la pagina di manuale di bash...
__________________
"Grandi menti discutono di idee, menti mediocri discutono di eventi, piccole menti discutono di persone."

figulus è offline   Rispondi citando il messaggio o parte di esso
Old 12-06-2004, 20:55   #5
Maestro
Senior Member
 
Iscritto dal: Jun 2002
Messaggi: 442
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
__________________
-
Maestro è offline   Rispondi citando il messaggio o parte di esso
Old 13-06-2004, 10:38   #6
sbomberino
Senior Member
 
L'Avatar di sbomberino
 
Iscritto dal: May 2001
Città: ROMA
Messaggi: 2967
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
__________________
sbomberino è offline   Rispondi citando il messaggio o parte di esso
Old 13-06-2004, 11:51   #7
Maestro
Senior Member
 
Iscritto dal: Jun 2002
Messaggi: 442
grazie mille sbomberino , pero' mi da un errore:

Codice:
./a.sh: line 4: [: !=: unary operator expected
il codice usato e':

Codice:
echo tasto ?

while [ $tasto != "" ]
do
read tasto
if [ $tasto = "" ] ; then
echo "non hai scritto niente"
fi
done
Sai dirmi dove ho sbagliato?

Grazie ancora
__________________
-
Maestro è offline   Rispondi citando il messaggio o parte di esso
Old 13-06-2004, 12:18   #8
sbomberino
Senior Member
 
L'Avatar di sbomberino
 
Iscritto dal: May 2001
Città: ROMA
Messaggi: 2967
prova con i doppi apici

while [ "$tasto" != "" ]



al limite ad inizio script
#!/bin/ksh

Ciao
__________________
sbomberino è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 01:20.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v