Bash if Block: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(Die Seite wurde neu angelegt: „=Der if-Block= '''if''' programm '''then''' anweisung1 '''else''' anweisung2 '''fi''' Der if-Block verzweigt in Abhängigkeit des Returncodes des Pr…“) |
|||
| Zeile 28: | Zeile 28: | ||
*./rechnertest 172.20.103.99 | *./rechnertest 172.20.103.99 | ||
rechner ist tot | rechner ist tot | ||
| + | |||
| + | ==Variante ohne else== | ||
| + | *cat rechnertest.spar | ||
| + | <syntaxhighlight> | ||
| + | #!/bin/bash | ||
| + | if ping -c 1 -w 1 $1 > /dev/null 2>&1 | ||
| + | then | ||
| + | echo "rechner lebt" | ||
| + | fi | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | *./rechnertest.spar 172.20.103.1 | ||
| + | rechner lebt | ||
| + | *./rechnertest.spar 172.20.103.99 | ||
| + | |||
| + | |||
| + | ==Sonderform mit elif== | ||
| + | *cat el | ||
| + | <syntaxhighlight> | ||
| + | #!/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 wurm" | ||
| + | fi | ||
| + | </syntaxhighlight> | ||
| + | *./el | ||
| + | wie heissen Sie :thomas | ||
| + | hallo meister | ||
| + | *./el | ||
| + | wie heissen Sie :martin | ||
| + | hallo vizemeister | ||
| + | *./el | ||
| + | wie heissen Sie :suxer | ||
| + | hallo wurm | ||
Version vom 6. Juni 2024, 06:36 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- ./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 wurm"
fi- ./el
wie heissen Sie :thomas hallo meister
- ./el
wie heissen Sie :martin hallo vizemeister
- ./el
wie heissen Sie :suxer hallo wurm
