[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: