Bash if-sætning [: mangler `] ' fejl [duplikat]

Dette spørgsmål har allerede svar her :

Kommentarer

  • For dem der undrer sig over: dette er ikke udsagn med flere linjer!
  • Hvis du bare vil kontrollere, om strengen Shared vises i kommandooutputtet kan du overveje at bruge exit-status for grep direkte f.eks ipcs | { if grep -q "Shared"; then echo "true"; else echo "false"; fi } eller ipcs | grep -q "Shared" && echo "true" || echo "false" – se unix.stackexchange.com/a/48536/65304 for eksempel

Svar

Dit missing ]" fejl skyldes, at du har brug for et mellemrum imellem "Shared" og ], så linjen skal være if [ "$(ipcs | grep Shared | awk "{print $2}")" == "Shared" ]; then.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *