Was bedeutet der z-Wert in einem if-Ausdruck auf einem Linux-Skript?

In diesem Skript fand ich diese if Ausdruck:

if [ -z $1 ]; then
    echo "Usage: createpkg.sh <rev package>"
    exit
else
    CURRENT_VERSION=$1
fi

Mein problem ist, dass ich kann nicht herausfinden, was genau bedeutet diese -z Wert.

Aus dem Inhalt der echo kann ich davon ausgehen, dass (vielleicht) $1 variable zeigt die Software-version. und, die (vielleicht) -z ist ein void-Wert. Also, wenn ich das Skript ausführen, ohne die übergabe an die version der software, würde ich die Verpackung drucken mir die richtigen Verfahren, um das Skript auszuführen.

Aber ich bin nicht sicher über die wirkliche Bedeutung der -z Wert.

  • Als seitliche Anmerkung haben, sollten Sie wahrscheinlich schließen Sie die variable in Anführungszeichen. if [ -z "$1" ];. Ich erinnere mich nicht den genauen Grund (jemand ?) aber tut man das nicht, kann ein unerwartetes Verhalten in einigen Fällen.
  • Ja, @Antoine_935, wird es problematisch, wenn die variable enthält eine Leerzeichen. Es wird if [ -z hello world ] die bash werden nicht in der Lage zu verstehen.
InformationsquelleAutor AndreaNobili | 2013-10-21
Schreibe einen Kommentar