Bash testen of een bestand bestaat
Op deze pagina:
Als je in een bash script wil controleren of een bestand bestaat, dan kan je daarvoor de opdracht test gebruiken.
Er zijn 3 notaties van test mogelijk:
# test opdracht gevolgd door de parameters
BESTAND=/var/log/apache2/access.log
if test -f "$BESTAND"; then
echo "$BESTAND bestaat."
else
echo "$BESTAND bestaat niet."
fi
# Deze schrijfwijze kan ook:
test -f $BESTAND && echo "$BESTAND bestaat." || echo "$BESTAND bestaat niet."
# parameters tussen enkele vierkante haken
# voor comptabiliteit met oudere systemen
BESTAND=/var/log/apache2/access.log
if [ -f "$BESTAND" ]; then
echo "$BESTAND bestaat."
else
echo "$BESTAND bestaat niet."
fi
# Deze schrijfwijze kan ook:
[ -f $BESTAND ] && echo "$BESTAND bestaat." || echo "$BESTAND bestaat niet."
# parameters tussen dubbele vierkante haken
# dit is de meest moderne versie
BESTAND=/var/log/apache2/access.log
if [[ -f "$BESTAND" ]]; then
echo "$BESTAND bestaat."
else
echo "$BESTAND bestaat niet."
fi
# Deze schrijfwijze kan ook:
[[ -f $BESTAND ]] && echo "$BESTAND bestaat." || echo "$BESTAND bestaat niet."
Controleren of een map bestaat
Controleren of een map bestaat gaat op dezelfde manier als controleren of een bestand bestaat, maar ditmaal met de parameter -d ipv -f.
Er zijn 3 notaties van test mogelijk:
# test opdracht gevolgd door de parameters
MAP=/var/snap
if test -d "$MAP"; then
echo "$MAP bestaat."
else
echo "$MAP bestaat niet."
fi
# Deze schrijfwijze kan ook:
test -d $MAP && echo "$MAP bestaat." || echo "$MAP bestaat niet."
# parameters tussen enkele vierkante haken
# voor comptabiliteit met oudere systemen
MAP=/var/snap
if [ -d "$MAP" ]; then
echo "$MAP bestaat."
else
echo "$MAP bestaat niet."
fi
# Deze schrijfwijze kan ook:
[ -d $MAP ] && echo "$MAP bestaat." || echo "$MAP bestaat niet."
# parameters tussen dubbele vierkante haken
# dit is de meest moderne versie
MAP=/var/snap
if [[ -d "$MAP" ]]; then
echo "$MAP bestaat."
else
echo "$MAP bestaat niet."
fi
# Deze schrijfwijze kan ook:
[[ -d $MAP ]] && echo "$MAP bestaat." || echo "$MAP bestaat niet."