Bash scripting - istruzioni composte: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
m
Riga 248: Riga 248:
                                       # (espansione di parametro con valore di default)
                                       # (espansione di parametro con valore di default)
else
else
     printf %s\\n "File \"${file}\" non esistente o non leggibile!" >&2
     printf %s\\n "File \"${file}\" non esistente o non modificabile!" >&2
     exit 1
     exit 1
fi
fi
Riga 255: Riga 255:
Per farne la negazione, se si è interessati al solo ramo <code>else</code>, bisogna aggiungere un altro raggruppamento, visto che <code>!</code> si riferisce a un comando semplice o a una concatenazione con pipe:
Per farne la negazione, se si è interessati al solo ramo <code>else</code>, bisogna aggiungere un altro raggruppamento, visto che <code>!</code> si riferisce a un comando semplice o a una concatenazione con pipe:
<pre>
<pre>
if ! { [ -z "$file" ] || { [ -f "$file" ] && [ -r "$file" ] ; } ; }; then
if ! { [ -z "$file" ] || { [ -f "$file" ] && [ -w "$file" ] ; } ; }; then
     printf %s\\n "File \"${file}\" non esistente o non leggibile!" >&2
     printf %s\\n "File \"${file}\" non esistente o non modificabile!" >&2
     exit 1
     exit 1
fi
fi
Riga 262: Riga 262:
ma è in genere preferibile ripensare la condizione:
ma è in genere preferibile ripensare la condizione:
<pre>
<pre>
if [ -n "$file" ] && { ! [ -f "$file" ] || ! [ -r "$file" ] ; }; then
if [ -n "$file" ] && { ! [ -f "$file" ] || ! [ -w "$file" ] ; }; then
     printf %s\\n "File \"${file}\" non esistente o non leggibile!" >&2
     printf %s\\n "File \"${file}\" non esistente o non modificabile!" >&2
     exit 1
     exit 1
fi
fi
3 581

contributi

Menu di navigazione