Bash if Block: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| (4 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 14: | Zeile 14: | ||
Der else-Zweig kann ausgelassen oder durch einen elif-Zweig ersetzt werden. Der elif-Zweig ist eine | Der else-Zweig kann ausgelassen oder durch einen elif-Zweig ersetzt werden. Der elif-Zweig ist eine | ||
Besonderheit bei Verschachtelungen. | Besonderheit bei Verschachtelungen. | ||
| − | *cat rechnertest | + | *cat > rechnertest |
<syntaxhighlight lang=bash> | <syntaxhighlight lang=bash> | ||
#!/bin/bash | #!/bin/bash | ||
| Zeile 24: | Zeile 24: | ||
fi | fi | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| + | *Strg + D drücken, um '''cat''' zu beenden. | ||
| + | *chmod +x rechnertest | ||
*./rechnertest 172.20.103.1 | *./rechnertest 172.20.103.1 | ||
rechner lebt | rechner lebt | ||
| Zeile 31: | Zeile 33: | ||
==Variante ohne else== | ==Variante ohne else== | ||
*cat rechnertest.spar | *cat rechnertest.spar | ||
| − | <syntaxhighlight> | + | <syntaxhighlight lang=bash> |
#!/bin/bash | #!/bin/bash | ||
| − | if ping -c 1 -w 1 $1 > /dev/null 2>&1 | + | if ping -c 1 -w 1 $1 > /dev/null 2>&1 |
| − | then | + | then |
| − | echo "rechner lebt" | + | echo "rechner lebt" |
| − | fi | + | fi |
</syntaxhighlight> | </syntaxhighlight> | ||
| Zeile 42: | Zeile 44: | ||
rechner lebt | rechner lebt | ||
*./rechnertest.spar 172.20.103.99 | *./rechnertest.spar 172.20.103.99 | ||
| − | |||
==Sonderform mit elif== | ==Sonderform mit elif== | ||
| Zeile 57: | Zeile 58: | ||
echo "hallo vizemeister" | echo "hallo vizemeister" | ||
else | else | ||
| − | echo "hallo | + | echo "hallo mitglied" |
fi | fi | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Zeile 68: | Zeile 69: | ||
*./el | *./el | ||
wie heissen Sie :suxer | wie heissen Sie :suxer | ||
| − | hallo | + | hallo mitglied |
Aktuelle Version vom 19. Juni 2024, 14:52 Uhr
Der if-Block
if programm then anweisung1 else anweisung2 fi
Der if-Block verzweigt in Abhängigkeit des Returncodes des Programmes das ausgeführt wird. Ist der Returncode gleich null, wird Anweisung1 ausgeführt; ist der Returncode ungleich null, wird Anweisung2 ausgeführt.
Der else-Zweig kann ausgelassen oder durch einen elif-Zweig ersetzt werden. Der elif-Zweig ist eine Besonderheit bei Verschachtelungen.
- cat > rechnertest
#!/bin/bash
if ping -c 1 -w 1 $1 > /dev/null 2>&1
then
echo "rechner lebt"
else
echo "rechner ist tot"
fi
- Strg + D drücken, um cat zu beenden.
- chmod +x rechnertest
- ./rechnertest 172.20.103.1
rechner lebt
- ./rechnertest 172.20.103.99
rechner ist tot
Variante ohne else
- cat rechnertest.spar
#!/bin/bash
if ping -c 1 -w 1 $1 > /dev/null 2>&1
then
echo "rechner lebt"
fi
- ./rechnertest.spar 172.20.103.1
rechner lebt
- ./rechnertest.spar 172.20.103.99
Sonderform mit elif
- cat el
#!/bin/bash
echo -n "wie heissen Sie :"
read NAME
if test $NAME = "thomas"
then
echo "hallo meister"
elif test $NAME = "martin"
then
echo "hallo vizemeister"
else
echo "hallo mitglied"
fi
- ./el
wie heissen Sie :thomas hallo meister
- ./el
wie heissen Sie :martin hallo vizemeister
- ./el
wie heissen Sie :suxer hallo mitglied
