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 
Sharedin der Befehlsausgabe angezeigt wird Vielleicht möchten Sie den Exit-Status von grep direkt verwenden, zipcs | { if grep -q "Shared"; then echo "true"; else echo "false"; fi }oderipcs | 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.