wenn sonst Bash-Skript

wenn sonst Bash-Skript

Ich habe das folgende Bash-Skript

if [[$NODE_NAME = "Node1"]]
then
    dir="../../test"
fi

die ich in der Shell-Eingabeaufforderung von Jenkins verwende.

Ich erhalte die Fehlermeldung Slave1 command not found.

Ich möchte nur prüfen, ob die $NODE_NAMEVariable dem Wert entspricht "Slave1". Wie mache ich das in bash?

Antwort1

Der [[Operator (und seine andere Hälfte, ]]) ist eigentlich ein Schlüsselwort und muss daher auf beiden Seiten ein Leerzeichen haben. Wenn Sie schon dabei sind, setzen Sie Ihre Variablen in doppelte Anführungszeichen, falls sie Leerzeichen oder andere unerwartete Satzzeichen enthalten:

if [[ "$NODE_NAME" == 'Node1' ]]
then
    dir="../../test"
fi

Um den Wert der Variablen zu überprüfen, geben Sie ihn einfach aus. Fügen Sie diese Zeile über Ihrer ifBedingung hinzu:

echo "NODE: $NODE_NAME"

verwandte Informationen