[Lugge] Re: Nomi variabili bash

  • From: ianezz@xxxxxxxxxx
  • To: lugge@xxxxxxxxxxxxx
  • Date: Mon, 13 Jan 2003 13:07:41 +0100

Matteo Lunardi, aggrappandosi alla tastiera per non cadere, ha scritto:

Per i nomi delle variabili mi sa che non c'e` niente da fare: guarda
nella sezione "DEFINITIONS" della manpage di bash per quanto riguarda
la definizione di "name" (solo caratteri alfanumerici e underscore, e
il primo deve essere un carattere alfabetico o un underscore).


 > Il secondo e', data una stringa, ottenere in output quello che c'e' dopo
 > un certo carattere, ossia:
 > # maremma /B modemBpci
 > pci

   a="marBemma modemBpci"

   echo "${a##*B}"

   => pci

   echo "${a#*B}"

   => emma modemBpci

   echo "${a%B*}"

   => marBemma modem

   echo "${a%%B*}"

   => mar

Ovvero, "${a##*B}" viene espanso con il contenuto della variabile "a"
da cui vien pero` tolto il prefisso piu` lungo che soddisfa il pattern
specificato (*B in questo caso). In breve:

 #  = prefisso piu` corto da togliere
 ## = prefisso piu` lungo da togliere 
 %  = suffisso piu` corto da togliere
 %% = suffisso piu` lungo da togliere

Per gli altri casi, man bash. :-)

Questo funziona per le shell POSIX in generale, e quindi anche per Bash.


-- 
 |   \    \  | ___|_  |_  | ianezz AT sodalia.it
 |  _ \  | \ | _|    /   /  Visita il LinuxTrent a
_|_/  _\_|  _|____|___|___| http://www.linuxtrent.it
========---------- 
  
 Prima di scrivere in m-list per favore leggi il regolamento 
 http://www.lugge.net/soci/index.php?link=manifesto.htm#list 
 
 Archivio delle e-mail postate in lista 
 http://www.freelists.org/archives/lugge/ 
 
 Modifica dell'account su freelists 
 http://www.freelists.org/cgi-bin/lsg2.cgi  
 
----------======== 
 
 Orari di apertura della sede e come arrivarci: 
 http://www.lugge.net/soci/index.php?link=sede.htm 
  
 
 
  

Other related posts: