Questa domanda ha già una risposta qui :
Commenti
- Per coloro che si chiedono: queste non sono istruzioni su più righe!
- Se vuoi solo controllare se la stringa
Sharedappare nelloutput del comando potresti prendere in considerazione lutilizzo dello stato di uscita di grep direttamente, ad esipcs | { if grep -q "Shared"; then echo "true"; else echo "false"; fi }oipcs | grep -q "Shared" && echo "true" || echo "false"– vedi unix.stackexchange.com/a/48536/65304 ad esempio
Risposta
Il tuo missing ]" lerrore è dovuto al fatto che è necessario uno spazio tra "Shared" e ], quindi la riga deve essere if [ "$(ipcs | grep Shared | awk "{print $2}")" == "Shared" ]; then.