If-then (Bash): verschil tussen versies

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen
Regel 13: Regel 13:
  
 
fi
 
fi
 +
</pre>
 +
 +
== Op één regel ==
 +
 +
Een if-then-statement kan prima op één regel, vermits je de afzonderlijke commando's voorziet van een <code>;</code>. Voorbeeld:
 +
 +
<pre>
 +
# Verify variables
 +
#######################################
 +
#
 +
if [ -z "$db_name" ]; then echo " Variable 'db_name' not provided. Exiting"; exit; fi
 +
if [ -z "$db_username" ]; then echo " Variable 'db_username' not provided. Exiting"; exit; fi
 +
if [ -z "$db_pass" ]; then echo " Variable 'db_pass' not provided. Exiting"; exit; fi
 
</pre>
 
</pre>
  

Versie van 14 jun 2022 18:21

Basic example

#!/bin/bash

mijnvar=$1

if [ -z "$mijnvar" ]; then
	echo "mijnvar is leeg"

elif [[ "$mijnvar" =~ [0-9] ]]; then   # Geen idee waarom je dubbele vierkante haakjes hebt
	echo "Mijnvar is een getal"

fi

Op één regel

Een if-then-statement kan prima op één regel, vermits je de afzonderlijke commando's voorziet van een ;. Voorbeeld:

# Verify variables
#######################################
#
if [ -z "$db_name" ]; then 		echo "	Variable 'db_name' not provided. Exiting"; exit; fi
if [ -z "$db_username" ]; then 	echo "	Variable 'db_username' not provided. Exiting"; exit; fi
if [ -z "$db_pass" ]; then 		echo "	Variable 'db_pass' not provided. Exiting"; exit; fi

AND

Gebruik && als de logische AND-operator:

#!/bin/bash

a=1
b=2

if [ "$a" = 1 ]; then
	echo "a=1"
fi

if [ "$a" = 1 ] && [ "$b" = 2 ]; then
	echo "a=1 en b=2"
fi

Non-existing variable

Je kunt straffeloos testen met een niet-bestaande variabele:

#!/bin/bash

if [ "$c" = 1 ]; then
	echo "Non-existing variable 'c' is equal to 1"
else
	echo "Non-existing variable 'c' is not equal to 1"	
fi

Bronnen