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

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 Shared appare nelloutput del comando potresti prendere in considerazione lutilizzo dello stato di uscita di grep direttamente, ad es ipcs | { if grep -q "Shared"; then echo "true"; else echo "false"; fi } o ipcs | 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.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *