View Full Version : [bash] shift del contenuto di una variabile testuale
Sto scrivendo uno script ed è necessario effettuare uno shift del contenuto di una variabile non numerica. In pratica mi servirebbe un comando (o del codice) che permetta di eseguire quello che fa il comando shift (lui lo fa con variabili contenenti liste di numeri).
Nel mio caso ho una variabile che memorizza diversi nomi di file con relativo percorso, e a causa di cicli e controlli devo scartare il primo file della lista ogni volta, man mano che il ciclo procede.
Non so se mi sono spiegato, sono comunque disponibile a chiarire meglio la situazione :D
DaLcA[']Sto scrivendo uno script ed è necessario effettuare uno shift del contenuto di una variabile non numerica. In pratica mi servirebbe un comando (o del codice) che permetta di eseguire quello che fa il comando shift (lui lo fa con variabili contenenti liste di numeri).
Nel mio caso ho una variabile che memorizza diversi nomi di file con relativo percorso, e a causa di cicli e controlli devo scartare il primo file della lista ogni volta, man mano che il ciclo procede.
Non so se mi sono spiegato, sono comunque disponibile a chiarire meglio la situazione :DScusa ... chi l'ha detto che shift opera solo su liste di numeri?? ;)
shift opera, parlando in generale, sui parametri "posizionali" ($1 $2 ....).
Non avresti problemi se tu facessi per esempio:
FILES="file1 file2 file3"
set $FILES
shift # Hai tolto il primo file, ora $1 contiene il secondo
Grazie, ho risolto il problema! :mano:
Pensavo che shift operasse solo sui numeri perchè facendo qualche prova nella console il comando restituiva l'errore:
-bash: shift: file1: numeric argument required
Ma di certo sbagliavo io. Ora ho risolto il problema dello shift così:
FILES="file1 file2 file3"
set $FILES
shift
FILES="$@" #reimposto FILES come se fosse shiftato
Grazie ancora :)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.