Deze vraag heeft hier al antwoorden :
Opmerkingen
- Voor degenen die zich afvragen: dit zijn geen instructies met meerdere regels!
- Als je alleen wilt controleren of de string
Sharedin de uitvoer van het commando voorkomt je zou kunnen overwegen om de exit-status van grep direct te gebruiken, bijvoorbeeldipcs | { if grep -q "Shared"; then echo "true"; else echo "false"; fi }ofipcs | grep -q "Shared" && echo "true" || echo "false"– zie unix.stackexchange.com/a/48536/65304 bijvoorbeeld
Antwoord
Uw missing ]" fout is omdat je een spatie nodig hebt tussen "Shared" en ], dus de regel moet if [ "$(ipcs | grep Shared | awk "{print $2}")" == "Shared" ]; then.