st.txt
"falhou" "aa" "2018-04-03T17:43:38Z"
while read status name date; do
case "$status" in
'aborted')
echo -1
;;
"failed")
echo -1
;;
'succeeded')
echo 0
;;
*)
echo 0
esac
exit 0
done < st.txt
Mas eu sempre recebo 0 como saída.
Você deve substituir
"failed"
por"\"failed\""
. Deveria ser:Considere também usar
read with -r
.Há também uma maneira mais fácil de fazer o que você deseja:
Outra solução é adicionar aspas simples em torno das strings com aspas duplas: