Bash if -lauseke [: missing `] ' -virhe [duplikaatti]

Tähän kysymykseen on jo annettu vastauksia :

Kommentit

  • Niille, jotka ihmettelevät: nämä eivät ole monirivisiä käskyjä!
  • Jos haluat vain tarkistaa, esiintyykö merkkijono Shared komentolähdössä kannattaa harkita grepin poistumistilan käyttöä suoraan ipcs | { if grep -q "Shared"; then echo "true"; else echo "false"; fi } tai ipcs | grep -q "Shared" && echo "true" || echo "false" – katso unix.stackexchange.com/a/48536/65304 esimerkiksi

vastaus

missing ]" virhe johtuu siitä, että tarvitset välilyönnin "Shared" ja ] välissä, joten rivin tulee olla if [ "$(ipcs | grep Shared | awk "{print $2}")" == "Shared" ]; then.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *