Cristiano Tomasi, pigiando tasti a caso sul citofono, ha scritto: > > Grazie lele > > comunque il funzionamento l'ho capito dal tuo esempio perche' quello che > c'è' scritto sopra (la man page della bash) deve essere un antico testo > mesopotamico tradotto prima in alamaico, poi greco ed in fine in italiano > :-). Saluti Beh, di solito le manpage sono delle guide rapide di riferimento: devono contenere tutta l'informazione e in maniera concisa... In fin della fiera: se VARIABILE="/usr/local/bin" allora ${VARIABILE#*/} produce ``usr/local/bin'' ovvero toglie dall'inizio il match piu` corto. Dato che il pattern e` ``*/'', in pratica toglie tutto fino alla prima barra obliqua (compresa) ${VARIABILE##*/} produce ``bin'' ovvero toglie dall'inizio il match piu` lungo. Dato che il pattern e` ``*/'', in pratica toglie tutto fino all'ultima barra obliqua (compresa) ${VARIABILE%/*} produce ``/usr/local'' ovvero toglie dalla fine il match piu` corto. Dato che il pattern e` ``/*'', in pratica toglie tutto a partire dall'ultima barra obliqua (compresa). ${VARIABILE%%/*} produce ``'' ovvero toglie dalla fine il match piu` lungo. Dato che il pattern e` ``/*'', in pratica toglie tutto a partire dalla prima barra obliqua (compresa). E visto che $VARIABILE comincia proprio con una barra obliqua, il risultato e` una stringa vuota. In pratica, se VARIABILE contiene un path assoluto di un file, ${VARIABILE##*/} e` un modo veloce per ottenere il nome del file nudo e crudo, e ${VARIABILE%/*} e` un modo veloce per ottenere la parte che indica la directory. Ovvero: VARIABILE=/usr/local/bin echo "La directory e` ${VARIABILE%/*}" echo "Il file e` ${VARIABILE##*/}" ed e` quasi equivalente al dire VARIABILE=/usr/local/bin echo "La directory e` $(dirname "$VARIABILE")" echo "Il file e` $(basename "$VARIABILE")" che e` piu` lento (perche` esegue i comandi comandi esterni ``basename'' e ``dirname''), ma che gestisce meglio alcuni casi particolari. ${VARIABILE%%*/} -> bin (toglie dall'inizio il match piu` corto ${<variable>%<pattern>} ${<variable>%%<pattern>} ${<variable>#<pattern>} ${<variable>##<pattern>} -- | \ \ | ___|_ |_ | ianezz AT sodalia.it | _ \ | \ | _| / / Visita il LinuxTrent a _|_/ _\_| _|____|___|___| http://www.linuxtrent.it -- PROSSIMA ASSEMBLEA: lunedi 29 Aprile 2002 ore 20:45 Per iscriversi (o disiscriversi), basta spedire un messaggio con SOGGETTO "subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxxxxxx