Re: [bash]: strano problema con case
On Tuesday 03 February 2009 11:29:42 Antonio Macchi wrote:
> perche' metti quelle parentesi tra [0-9]?
> cosa volevi testare di preciso?
il test dovrebbe fare il match per una o più cifre, in pratica un numero
intero.
La sintassi è presa da man bash, dove dice che il pattern di un case viene
sottoposto a Pathname Expansion, per cui vale
+( pattern-list )
Matches one or more occurrences of the given patterns
e così +( [0-9] ) dovrebbe essere una o più cifre...
...
...
Trovato!
In man bash c'è anche la soluzione: la sintassi sopra vale solo se è attivata
l'opzione extglob.
Avevo già controllato nella shell interattiva e m'ero dimenticato della cosa.
Ora ho visto che la sottoshell che esegue lo script ha quell'opzione
disattivata.
Mettendo uno shopt -s extglob in testa allo script tutto funziona.
grazie,
Flavio
Reply to: