Oggi parliamo dell'espansione dei parametri delle shell, iniziamo dicendo che la maggiorparte di queste sono nella forma:
${variabile:<operatore>pattern}e servono a manipolare o controllare il valore di una variabile in maniera immediata e veloce. Facciamo subito qualche esempio:
echo ${variabile:-parola}quest'operazione (con :- ) restituisce la variabile se settata, altrimenti il pattern, supponiamo un caso di una variabile ciao="ciao.come.stai".
echo ${ciao:-buongiorno}Nel nostro caso l'output sarà proprio il valore di ciao, ma in questo altro esempio:
echo ${ciau:-buongiorno}
restituirà la parola "buongiorno" perchè la variabile ciau non esiste.
altre operazioni simili a questa sono:
${variabile:=parola} -> come prima, ma assegna anche il valore "parola" alla variabile se questa non contiene nulla${variabile:?parola} -> se la variabile è assegnata la stampa, altrimenti manda in stderr un messaggio con scritto parola, il comando finirà con errore (se parola è anch'essa una variabile, sarà sostituito il valore)${variabile1:+variabile2} -> se variabile1 è assegnata stampa variabile2, niente altrimentiRIprendiamo domani con alcune operazioni MOLTO più interessanti :D