Tato otázka již má odpovědi zde : 
Komentáře
- Pro ty, kteří se zajímají: nejde o víceřádkové příkazy!
 -  Pokud si chcete jen ověřit, zda se ve výstupu příkazu objeví řetězec 
Sharedmožná budete chtít zvážit použití stavu ukončení grepu přímo, napřipcs | { if grep -q "Shared"; then echo "true"; else echo "false"; fi }neboipcs | grep -q "Shared" && echo "true" || echo "false"– viz unix.stackexchange.com/a/48536/65304 například 
Odpověď
 Vaše missing ]" Chyba je v tom, že potřebujete mezeru mezi "Shared" a ], takže řádek by měl být if [ "$(ipcs | grep Shared | awk "{print $2}")" == "Shared" ]; then.