Re: Hilfe bei kleinem Script
Hallo,
On 09/24/2010 03:23 PM, Jochen van Geldern wrote:
> Alexander Hintzer schrieb:
>> "true" und "false" sind an sich kleine Programme (wieder was entdeckt
>> :-)) welche nur einen entsprechenden Status-code erzeugen. Darum
>> funktioniert
>>
>> if $TEST;...
>>
> Und was passiert, wenn durch ein Fehler etwas anderes als "true" oder
> "false" in der Variable $TEST steht??
> Dann passiert nämlich etwas Unerwartetes.
> Kann sogar ein Sicherheitslücke werden.
Was aber nicht heisst, dass die "verkuerzte" Form grundsaetzlich nicht
benutzt werden sollte. Man muss halt sicherstellen, dass die Variable
auch unter allen Umstaenden die richtigen Werte besitzt.
Aber wie schon vorher gesagt: Ich wuerde die "ausfuehrliche" Variante
bevorzugen, damit der Code einfacher zu lesen ist (und damit der
genannte Fall eines unerwarteten Var-Inhalts nicht zum Verhaengnis
werden kann... ;-) ).
>> Man kann aber auch die Zeichenkette in $TEST auswerten, wodurch dann
>> die if-bedingung war wird:
>>
>> if [ "$TEST" = true ]; …
>>
>> Stimmt das so?
>>
>>
> Diese Lösung in der Hinsicht besser.
>
Um die Fehlerabfrage zu ergaenzen:
if [ "$TEST" = "true" ]; then
echo "true"
elif [ "$TEST" = "false" ]; then
echo "false"
else
echo "error"
fi
Gruss,
Ben
Reply to: