11.04.2013 Views

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

${#var}<br />

Lunghezza della variabile / rimozione <strong>di</strong> sottostringa<br />

Capitolo 9. Variabili riviste<br />

Lunghezza della stringa (numero dei caratteri <strong>di</strong> $var). Nel caso <strong>di</strong> un array, ${#array}<br />

rappresenta la lunghezza del primo elemento dell’array.<br />

Nota: Eccezioni:<br />

• ${#*} e ${#@} forniscono il numero dei parametri posizionali.<br />

• Per gli array, ${#array[*]} e ${#array[@]} forniscono il numero degli elementi che<br />

compongono l’array.<br />

Esempio 9-16. Lunghezza <strong>di</strong> una variabile<br />

#!/bin/bash<br />

# length.sh<br />

E_NO_ARG=65<br />

if [ $# -eq 0 ] # Devono essere forniti degli argomenti allo script.<br />

then<br />

echo "Siete pregati <strong>di</strong> seguire lo script con uno o più argomenti."<br />

exit $E_NO_ARG<br />

fi<br />

var01=abcdEFGH28ij<br />

echo "var01 = ${var01}"<br />

echo "Lunghezza <strong>di</strong> var01 = ${#var01}"<br />

# Proviamo ora ad inserire uno spazio.<br />

var02="abcd EFGH28ij"<br />

echo "var02 = ${var02}"<br />

echo "Lunghezza <strong>di</strong> var02 = ${#var02}"<br />

echo "Numero <strong>di</strong> argomenti passati allo script = ${#@}"<br />

echo "Numero <strong>di</strong> argomenti passati allo script = ${#*}"<br />

exit 0<br />

${var#Modello}<br />

${var##Modello}<br />

Toglie da $var la parte più breve/lunga <strong>di</strong> $Modello verificata all’inizio <strong>di</strong> $var.<br />

Una <strong>di</strong>mostrazione del suo impiego tratta dall’Esempio A-7:<br />

# Funzione dall’esempio "days-between.sh".<br />

# Toglie lo/gli zeri iniziali dall’argomento fornito.<br />

132

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!