Woher weiß ich, ob eine Variable in der Bash gesetzt ist?
Wie prüfe ich zum Beispiel, ob der Benutzer den ersten Parameter einer Funktion angegeben hat?
function a {
# if $1 is set ?
}
Es gibt viele Möglichkeiten, dies zu tun, eine davon ist die folgende:
if [ -z "$1" ]
Dies ist erfolgreich, wenn $1 null oder nicht gesetzt ist
if [ "$1" != "" ]; then
echo \$1 is set
else
echo \$1 is not set
fi
Obwohl es bei Argumenten normalerweise am besten ist, $# zu testen, was meiner Meinung nach die Anzahl der Argumente ist.
if [ $# -gt 0 ]; then
echo \$1 is set
else
echo \$1 is not set
fi
Das können Sie tun:
function a {
if [ ! -z "$1" ]; then
echo '$1 is set'
fi
}