Această întrebare are deja răspunsuri aici : 
Comentarii
- Pentru cei care se întreabă: acestea nu sunt instrucțiuni cu mai multe linii!
 -  Dacă doriți doar să verificați dacă șirul 
Sharedapare în ieșirea comenzii s-ar putea să doriți să luați în considerare utilizarea stării de ieșire a grep direct, de exipcs | { if grep -q "Shared"; then echo "true"; else echo "false"; fi }sauipcs | grep -q "Shared" && echo "true" || echo "false"– consultați unix.stackexchange.com/a/48536/65304 de exemplu 
Răspuns
 missing ]" eroarea se datorează faptului că aveți nevoie de un spațiu între "Shared" și ], astfel încât linia să fie if [ "$(ipcs | grep Shared | awk "{print $2}")" == "Shared" ]; then.