Bash scripting: differenze tra le versioni

m
(aggiunta espansione di parentesi)
Riga 300: Riga 300:
L'espansione supporta due forme: una iterativa, da espandere in un intervallo da un indice a un altro, e una dichiarativa, da espandere nei valori della lista fornita. La prima espansione sostituisce spesso la necessità di ricorrere al comando esterno <code>seq</code>, utilizzato da <code>'''sh'''</code> (''POSIX'').
L'espansione supporta due forme: una iterativa, da espandere in un intervallo da un indice a un altro, e una dichiarativa, da espandere nei valori della lista fornita. La prima espansione sostituisce spesso la necessità di ricorrere al comando esterno <code>seq</code>, utilizzato da <code>'''sh'''</code> (''POSIX'').


Sintassi della forma iterativa (con indici di un intervallo):
===Con indici di intervallo===
<code>prefisso{x..y[..z]}suffisso</code> espande iterativamente a tutte le stringhe a partire da "prefisso'''x'''suffisso" fino a "prefisso'''y'''suffisso", con incrementi di 1 (o '''z''' se specificato). Le stringhe prefisso e suffisso possono essere omesse, e anche essere variabili (anche quotate, purché le graffe non lo siano), mentre x, y e z devono essere determinati valori:
<code>prefisso{x..y[..z]}suffisso</code> espande iterativamente a tutte le stringhe a partire da "prefisso'''x'''suffisso" fino a "prefisso'''y'''suffisso", con incrementi di 1 (o '''z''' se specificato). Le stringhe prefisso e suffisso possono essere omesse, e anche essere variabili (anche quotate, purché le graffe non lo siano), mentre x, y e z devono essere determinati valori:
* <code>{x..y}</code> dove x e y sono due interi (non possono essere variabili);
* <code>{x..y}</code> dove x e y sono due interi (non possono essere variabili);
Riga 320: Riga 320:
</pre>
</pre>


Sintassi della forma dichiarativa (lista di stringhe):
===Con lista di stringhe===
<code>prefisso{stringa1,stringa2,...}suffisso</code> espande a tutte le stringhe nella lista, racchiudendole tra il prefisso e il suffisso dati, se presenti. Il prefisso, il suffisso e tutte le stringhe possono essere variabili, anche quotate, purché non siano quotate le graffe e le virgole interne.
<code>prefisso{stringa1,stringa2,...}suffisso</code> espande a tutte le stringhe nella lista, racchiudendole tra il prefisso e il suffisso dati, se presenti. Il prefisso, il suffisso e tutte le stringhe possono essere variabili, anche quotate, purché non siano quotate le graffe e le virgole interne.


Riga 339: Riga 339:
done
done
</pre>
</pre>


==Concatenazione e redirezione==
==Concatenazione e redirezione==
3 581

contributi