Wenn ich einige Befehle ausführen möchte, deren Variablen nicht festgelegt sind, verwende ich:
if [[ -z "$a" || -z "$v" ]]
then
echo "a or b are not set"
fi
Die gleiche Syntax funktioniert jedoch nicht -v
. Ich muss Folgendes verwenden:
if [[ -v a && -v b ]]
then
echo "a & b are set"
fi
Was ist die Geschichte dahinter? Ich verstehe nicht, warum die Syntax nicht dieselbe sein würde. Ich habe gelesen, dass dies -v
eine etwas neue Ergänzung zu Bash (4.2) ist .
""