Bash scripting: differenze tra le versioni

m
nessun oggetto della modifica
mNessun oggetto della modifica
mNessun oggetto della modifica
Riga 162: Riga 162:
Una stringa non racchiusa tra apici o tra virgolette ha i seguenti caratteri speciali: <code>'</code>, <code>"</code>, <code>`</code>, <code>$</code>, <code>\</code>, <code>{</code>, <code>}</code>, <code>[</code>, <code>]</code>, <code>*</code>, <code>?</code>, <code>~</code>, <code>(</code>, <code>)</code>, <code>;</code> e <code>#</code>. Se non preceduti dal carattere di escape <code>\</code> possono in base ai caratteri immediatamente successivi essere espansi, considerati parte di un nuovo comando o tralasciati come commenti. Questa sezione non è esaustiva e non considera tutte le eccezioni, ma consiglia degli accorgimenti che si possono sempre seguire per ridurre la necessità dell'escape.
Una stringa non racchiusa tra apici o tra virgolette ha i seguenti caratteri speciali: <code>'</code>, <code>"</code>, <code>`</code>, <code>$</code>, <code>\</code>, <code>{</code>, <code>}</code>, <code>[</code>, <code>]</code>, <code>*</code>, <code>?</code>, <code>~</code>, <code>(</code>, <code>)</code>, <code>;</code> e <code>#</code>. Se non preceduti dal carattere di escape <code>\</code> possono in base ai caratteri immediatamente successivi essere espansi, considerati parte di un nuovo comando o tralasciati come commenti. Questa sezione non è esaustiva e non considera tutte le eccezioni, ma consiglia degli accorgimenti che si possono sempre seguire per ridurre la necessità dell'escape.


Inoltre gli spazi (comprendendo tabulazioni e a capo) non quotati (con apici o virgolette) e non preceduti dal carattere di escape <code>\</code> vengono compressi:
Inoltre gli spazi (comprendendo tabulazioni e a capo) non quotati (con apici o virgolette) e non preceduti dal carattere di escape <code>\</code> vengono compressi.
 
Per esempio:
<pre>
<pre>
echo parola1    parola2  # stampa parola1 parola2 con un singolo spazio
echo parola1; parola2      # ERRORE: parola2 è considerata un altro comando!
echo "parola1; parola2"    # corretto
echo parola1    parola2  # stampa parola1 parola2 (senza caratteri speciali) con un singolo spazio
echo "parola1    parola2" # stampa mantenendo gli spazi tra le due parole
echo "parola1    parola2" # stampa mantenendo gli spazi tra le due parole
# con una variabile
# con una variabile
Riga 518: Riga 522:
|Verificata_da=
|Verificata_da=
:[[Utente:S3v|S3v]] (versione in Bash tips)
:[[Utente:S3v|S3v]] (versione in Bash tips)
:[[Utente:HAL 9000|HAL 9000]] 16:35, 6 lug 2014 (CEST)
:[[Utente:HAL 9000|HAL 9000]] 16:40, 6 lug 2014 (CEST)
|Estesa_da=
|Estesa_da=
:[[Utente:S3v|S3v]] (versione in Bash tips)
:[[Utente:S3v|S3v]] (versione in Bash tips)
3 581

contributi