|
13.2.6 Processamento delle righe di comando
La shell processa uno script come segue:
-
divide in tokens sulla base dei metacaratteri: SPACE, TAB,
NEWLINE, ;, (, ), <, >, |, &
-
controlla le keyword se non sono contenute fra "..."
o '...' (loop)
-
espande gli alias se non sono contenuti fra "..." o
'...' (loop)
-
espande le parentesi graffe, A{b|c} -> Ab Ac, se non sono
contenute fra "..." o '...'
-
espande le tilde, ~user -> $HOME/$USER, se non
sono contenute fra "..." o '...'
-
espande parametro, $PARAMETRO, se non � contenuto
fra '...'
-
espande la sostituzione del comando, $(comando), se
non � contenuta fra '...'
-
divide in parole con $IFS se non sono contenute fra
"..." o '...'
-
espande il pathname *?[] se non � contenuto fra
"..." o '...'
-
cerca comando
-
funzione
-
built-in
-
file in $PATH
-
loop
Le virgolette semplici all'interno delle doppie non hanno effetto.
Eseguire set -x nella shell, o invocarla con l'opzione
-x fa s� che stampi tutti i comandi eseguiti. Molto utile per il
debugging.
|
|