Você não combinou [[
com ]
. [[
sempre deve ser fechado com ]]
e [
com ]
. Use:
if [[ $a != STARTED && $b == STARTED ]] || [[ $b != STARTED && $a == STARTED ]]; then
Melhor ainda, já que você está usando [[
:
if [[ ($a != STARTED && $b == STARTED) || ($b != STARTED && $a == STARTED) ]]; then
O outro erro, que eu não notei até que a formatação foi aplicada, é que você está fazendo:
read $a
read $b
Você deveria estar fazendo:
read a
read b
Com o primeiro formulário, $a
e $b
são substituídos pelo shell com seu conteúdo, portanto, se você não os tivesse definido antes dessa linha, o comando final seria:
read
(nesse caso, o valor lido seria armazenado na variável REPLY
.) E se você tivesse definido a
para algo (como a="blah blah"
), seria semelhante a:
read blah blah