
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_NAME
Variable 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 if
Bedingung hinzu:
echo "NODE: $NODE_NAME"