Bash if statement [: missing `] ' error [duplicate]

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 Shared in de uitvoer van het commando voorkomt je zou kunnen overwegen om de exit-status van grep direct te gebruiken, bijvoorbeeld ipcs | { if grep -q "Shared"; then echo "true"; else echo "false"; fi } of ipcs | 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.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *