PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [bash] Rückgabe wert mit IF Anweisung



Thallez
15-03-2004, 15:31
tag zusammen

Ich bastel gerade an einen script jetzt möcht ich den rückgabe wert aus werten in einer IF Bedingung aber irgendwie geht das nicht so ganz



mount -t smbfs -o ...
if [ "$1" = "0" ]
then echo OK
else echo failt
fi

Ich glaube auch das $1 der falsche weg ist aber wie werte ich das richtig aus
da ja bei mount keine rückgabe kommt wenn kein Fehler bestaht also "0"
muss das ja irgendwie gehen.

undefined
15-03-2004, 18:04
Wenn du ein gerät unter Linux mountest dann suche auch da wo es eingehangen wurde. ;) Siehe man bash (test)
ps: cat /proc/mounts

Thallez
15-03-2004, 18:09
manchmal sieht man den Wald vor lauter bäumen nicht danke für deine hilfe

undefined
15-03-2004, 19:29
Jup geht mir oft genauso :D
Hier mal zwei Beispiele.

WAS="sysfs"
if [ -e "/proc/mounts" ]; then
for see in `cat /proc/mounts`
do
if [ "$WAS" == "$see" ]; then
echo -E "$see"
break
fi
done
fi
#oder grep
grep smbfs /proc/mounts || echo "Gerät ist nicht eingehangen"

phate
15-03-2004, 21:10
... oder aber doch so, wie er es zu Beginn vor hatte, nur mit der richtigen Variablen ($?)
mount ...
if [ $? -eq 0 ]; then
echo "ok"
else
echo "not ok"
fiDas ist meiner Ansicht nach, dass am wenigsten aufwändige / fehlerträchtige.

Thallez
15-03-2004, 21:29
so hab ich es gemacht mit viel aufwand




sudo mount -t smbfs -o username=$username,password=$password //$dserver/$dshare /tmp/tempmount
checkmount=`cat /proc/mounts | grep //$dserver/$dshare | cut -d/ -f 3`
if [ "$checkmount" = "$dserver" ]


aber danke für eure tips ich glaube ich werde doch zur variante von phate wechseln



mount ...
if [ $? -eq 0 ]; then
echo "ok"
else
echo "not ok"
fi