Bash scripting: differenze tra le versioni

m
Riga 255: Riga 255:


Si noti che l'espansione di comando, come anche in '''sh''' (''POSIX'') non espande il comando a tutto l'output prodotto, ma omette sempre gli "a capo" finali. Se da una parte è utile nella maggior parte delle situazioni, può talvolta avere effetti collaterali difficili da prevedere. Si consideri per esempio:
Si noti che l'espansione di comando, come anche in '''sh''' (''POSIX'') non espande il comando a tutto l'output prodotto, ma omette sempre gli "a capo" finali. Se da una parte è utile nella maggior parte delle situazioni, può talvolta avere effetti collaterali difficili da prevedere. Si consideri per esempio:
<pre>echo ciao > file_prova # scrive ciao (più un "a capo") nel file_prova
<pre>
echo ciao > file_prova     # scrive ciao (più un "a capo") nel file_prova
testo=$(cat file_prova)    # associa il contenuto (senza "a capo") a $testo
testo=$(cat file_prova)    # associa il contenuto (senza "a capo") a $testo
echo "Lunghezza del file: ${#testo}" # non è la dimensione esatta del file
echo "Lunghezza del file: ${#testo}" # NON è la dimensione esatta del file!
echo "$testo"              # stampa il contenuto di $testo (più un "a capo")
echo "$testo"              # stampa il contenuto di $testo (più un "a capo")
</pre>
</pre>
3 581

contributi