Re: #!/bin/sh: Variablen-Zuweisung mit Default-Werten

Datumsansicht Baumansicht Betreffansicht Attachement-Sicht

From: Sebastian Stark (seb_at_gosh.todesplanet.de)
Date: 23. Jan 2001


Raphael H. Becker wrote:
> Christian Weisgerber wrote:
> > Raphael H. Becker <beckerra_at_rumms.uni-mannheim.de> wrote:
> > > Umstaendlich koennte man das so machen:
> > > if [ $1 ]
> >
> > Das fliegt dir sehr leicht um die Ohren. Besser
> >
> > [ "$1" ]
>
> Aus welchem Grund? Ist $1 ungesetzt, dann fuehrt /bin/sh den Befehl "[
> ]" aus. Das Verhalten ist die Rueckgabe eines "false"-Wertes. Oder? Wo
> ist der Haken?

bash, ksh und tcsh (evtl noch andere) haben mit sowas Probleme:

seb_at_kirsch:~/tmp$ export a="test 1 2 3"
seb_at_kirsch:~/tmp$ ls $a
ls: test: No such file or directory
ls: 1: No such file or directory
ls: 2: No such file or directory
ls: 3: No such file or directory
seb_at_kirsch:~/tmp$ ls "$a"
test 1 2 3
seb_at_kirsch:~/tmp$

Die zsh ist in diesem Fall fehlertolerant.


Datumsansicht Baumansicht Betreffansicht Attachement-Sicht

Dieses Archiv wurde generiert von hypermail 2.1.2 : 11. Mar 2002 CET