|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
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
__________________
- |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5706
|
Codice:
if [ -e nome_file ] then #..... |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jun 2002
Messaggi: 442
|
grazie mille provo subito
![]() ciao
__________________
- |
![]() |
![]() |
![]() |
#4 |
Senior Member
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." |
![]() |
![]() |
![]() |
#5 |
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 ![]()
__________________
- |
![]() |
![]() |
![]() |
#6 |
Senior Member
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
__________________
![]() |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Jun 2002
Messaggi: 442
|
grazie mille sbomberino , pero' mi da un errore:
Codice:
./a.sh: line 4: [: !=: unary operator expected Codice:
echo tasto ? while [ $tasto != "" ] do read tasto if [ $tasto = "" ] ; then echo "non hai scritto niente" fi done Grazie ancora
__________________
- |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: May 2001
Città: ROMA
Messaggi: 2967
|
prova con i doppi apici
while [ "$tasto" != "" ] ![]() al limite ad inizio script #!/bin/ksh Ciao
__________________
![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:51.