Bash if-Anweisung [: fehlt `] ' Fehler [Duplikat]

Diese Frage hat hier bereits Antworten :

Kommentare

  • Für diejenigen, die sich fragen: Dies sind keine mehrzeiligen Anweisungen!
  • Wenn Sie nur überprüfen möchten, ob die Zeichenfolge Shared in der Befehlsausgabe angezeigt wird Vielleicht möchten Sie den Exit-Status von grep direkt verwenden, z ipcs | { if grep -q "Shared"; then echo "true"; else echo "false"; fi } oder ipcs | grep -q "Shared" && echo "true" || echo "false" – siehe unix.stackexchange.com/a/48536/65304 Zum Beispiel

Antwort

Ihre missing ]" Der Fehler liegt darin, dass Sie ein Leerzeichen zwischen "Shared" und ] benötigen. Die Zeile sollte also if [ "$(ipcs | grep Shared | awk "{print $2}")" == "Shared" ]; then.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.