[linux-l] Bash: Handling von Kommentaren und Leerzeilen in Config-Files

Jan-Benedict Glaw jbglaw at lug-owl.de
Mo Mai 12 18:07:46 CEST 2003


On Mon, 2003-05-12 17:46:53 +0200, Roland Penzin <roland at penzin.de>
wrote in message <1052754413.2021.6.camel at zippo.penzin.de>:
> Am Mon, 2003-05-12 um 16.52 schrieb Jan-Benedict Glaw:
> > On Mon, 2003-05-12 16:17:19 +0200, Dani Oderbolz <oderbolz at ecologic.de>
> > wrote in message <3EBFACEF.1000704 at ecologic.de>:
> > 
> > > Ich mache so etwas:
> > > 
> > > while read SOURCEDIR TARGETDIR; do
> > >    
> > >    # Hier will ich Leerzeichen abfangen
> > >    if [ ${SOURCEDIR } ]; then
> 
> noch ´ne kleine anmerkung: hier oben steht SOURCEDIR als Variable, die
> in eine klammer kommt. darin darf _kein_ leerzeichen sin, da man sonst
> auch auf die klammern verzichten könnte.

Jo. Tippfehler, vermute ich. Aber viel schlimmer ist, daß, wenn da
Leerzeichen (oder besser: $IFS) d'rin ist, daß dann da mehrere Parameter
für test (aka "[") stehen, worüber auf die Nase fallen wird.

> in der Bash ist das leerzeichen parametertrenner & im deiner klammer
> {...} erwartet die bash eben _ein_ operator "unary operator"

Jo:)

> > Ich stutzte das hier mal ein wenig und passe das auf Deine Bedürfnisse
> > an:
> > 
> > while read SOURCEDIR TARGETDIR MUELL; do
> > 	case "${SOURCEDIR}" in
> 
> siehst du: hier hat´s der meister automatisch richtig gemacht & ohne
> absingen schmutziger lieder (was ich mir mal wieder nicht verkneifen
> konnte....)

harr harr

Vom Original ist da schon nicht mehr allzu viel übriggeblieben...

> > 		""|\#*)
> > 			continue
> > 			;;
> > 	esac
> > 	echo "Sourcedir ist: ${SOURCEDIR}"
> > 	echo "Targetdir ist: ${TARGETDIR}"
> > 	if [ -n "${MUELL}" ]; then
> > 		echo "Hinten an der Zeile stand noch Müll, nämlich: ${MUELL}"
> > 	fi
> > done < $"${CONFIGFILE}"

MfG, JBG

-- 
   Jan-Benedict Glaw       jbglaw at lug-owl.de    . +49-172-7608481
   "Eine Freie Meinung in  einem Freien Kopf    | Gegen Zensur | Gegen Krieg
    fuer einen Freien Staat voll Freier Bürger" | im Internet! |   im Irak!
      ret = do_actions((curr | FREE_SPEECH) & ~(IRAQ_WAR_2 | DRM | TCPA));
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : nicht verfügbar
Dateityp    : application/pgp-signature
Dateigröße  : 189 bytes
Beschreibung: nicht verfügbar
URL         : <https://mlists.in-berlin.de/pipermail/linux-l-mlists.in-berlin.de/attachments/20030512/3f1011c9/attachment.sig>


Mehr Informationen über die Mailingliste linux-l