Bash scripting - espansioni non quotabili: differenze tra le versioni

m
tilde
(- template "Versioni compatibili")
m (tilde)
Riga 3: Riga 3:
Le espansioni trattate nelle sezioni successive avvengono unicamente in stringhe non quotate, almeno limitatamente ai caratteri speciali che le attivano, e sono attivabili soltanto da caratteri diversi dal '''$'''.
Le espansioni trattate nelle sezioni successive avvengono unicamente in stringhe non quotate, almeno limitatamente ai caratteri speciali che le attivano, e sono attivabili soltanto da caratteri diversi dal '''$'''.


Le loro priorità sono tutte diverse: l'espansione di parentesi è quella maggiore, seguita dalla tilda, da tutte le espansioni attivabili con '''$''' (quelle quotabili) e infine dall'espansione di percorso.
Le loro priorità sono tutte diverse: l'espansione di parentesi è quella maggiore, seguita dalla tilde, da tutte le espansioni attivabili con '''$''' (quelle quotabili) e infine dall'espansione di percorso.


Inoltre l'espansione di tilda, che è sempre espansa in una singola stringa, è l'unica possibile in un'assegnazione tra le espansioni non quotabili.
Inoltre l'espansione di tilde, che è sempre espansa in una singola stringa, è l'unica possibile in un'assegnazione tra le espansioni non quotabili.


==Espansione di tilda==
==Espansione di tilde==
Sintassi:
Sintassi:
* <code>~</code> si espande alla home, se non è quotata (equivalente all'uso di $HOME, che può essere quotata);
* <code>~</code> si espande alla home, se non è quotata (equivalente all'uso di $HOME, che può essere quotata);
Riga 39: Riga 39:
Le espansioni di percorso sono possibili solo se i caratteri speciali che la consentono (<code>* ? [ ]</code>) non sono racchiusi tra virgolette, apici o preceduti da <code>/</code>. È sempre consigliabile racchiudere tutto il resto tra virgolette, per non permettere espansioni accidentali.
Le espansioni di percorso sono possibili solo se i caratteri speciali che la consentono (<code>* ? [ ]</code>) non sono racchiusi tra virgolette, apici o preceduti da <code>/</code>. È sempre consigliabile racchiudere tutto il resto tra virgolette, per non permettere espansioni accidentali.


L'espansione non è possibile, direttamente, in un'assegnazione. Avendo la priorità più bassa, contrariamente all'espansione di tilda può avvenire anche in seguito all'espansione di una variabile (e con ogni altra espansione), se non è quotata:
L'espansione non è possibile, direttamente, in un'assegnazione. Avendo la priorità più bassa, contrariamente all'espansione di tilde può avvenire anche in seguito all'espansione di una variabile (e con ogni altra espansione), se non è quotata:
<pre>
<pre>
var="./*"          # assegno ./* a $var
var="./*"          # assegno ./* a $var
Riga 149: Riga 149:
</pre>
</pre>
{{Autori
{{Autori
|Autore=[[Utente:HAL 9000|HAL 9000]] 13:00, 22 lug 2014 (CEST)
|Autore=[[Utente:HAL 9000|HAL 9000]] 18:19, 22 lug 2014 (CEST)
}}
}}


[[Categoria:Bash]][[Categoria:Bash_Scripting]]
[[Categoria:Bash]][[Categoria:Bash_Scripting]]
3 581

contributi