Bash if statement [: missing `] ' erro [duplicado]

Esta pergunta já tem respostas aqui :

Comentários

  • Para aqueles que estão se perguntando: essas não são declarações de várias linhas!
  • Se você apenas deseja verificar se a string Shared aparece na saída do comando você pode querer considerar o uso do status de saída do grep diretamente, por exemplo ipcs | { if grep -q "Shared"; then echo "true"; else echo "false"; fi } ou ipcs | grep -q "Shared" && echo "true" || echo "false" – consulte unix.stackexchange.com/a/48536/65304 por exemplo

Resposta

Sua missing ]" o erro ocorre porque você precisa de um espaço entre "Shared" e ], então a linha deve ser if [ "$(ipcs | grep Shared | awk "{print $2}")" == "Shared" ]; then.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *