In diesem Skript fand ich diesen if
Ausdruck:Was bedeutet der Wert -z in einem if-Ausdruck in einem Linux-Skript?
if [ -z $1 ]; then
echo "Usage: createpkg.sh <rev package>"
exit
else
CURRENT_VERSION=$1
fi
Mein Problem ist, dass ich nicht, was genau bedeutet dieses -z
Wert finden.
Aus dem Inhalt des Echos kann ich ableiten, dass (vielleicht) $1
Variable die Softwareversion darstellt. und dass (vielleicht) -z
ein ungültiger Wert ist. Wenn ich also das Skript ausführe, ohne ihm die Version der Software zu übergeben, die ich verpacke, drucke mir die korrekte Prozedur, um das Skript auszuführen.
Aber ich bin mir nicht sicher über die wahre Bedeutung der -z
Wert.
Als eine Randnotiz sollten Sie wahrscheinlich Ihre Variable in Anführungszeichen einschließen. 'if [-z" $ 1 "];'. Ich kann mich nicht an den genauen Grund erinnern (jemand?), Aber das kann nicht zu unerwünschtem Verhalten in einigen Fällen führen. – aspyct
Ja, @ Antoine_935, es wird problematisch, wenn die Variable ein Leerzeichen enthält. Es wird 'if [-z hallo world]' was 'bash' nicht verstehen kann. – fedorqui