Estou usando o bash, versão:
GNU bash, version 5.1.16(1)-release (x86_64-pc-linux-gnu)
Fiz o seguinte script:
#!/usr/bin/bash
a=11
b=4
c=7+b
if [[ a -eq c ]]
then
echo "ok"
else
echo "not ok"
fi
Ele imprime "ok". Quando eu mudo a
para 10, ele imprime "não ok". Então eu tenho uma pergunta simples, do [[ ]]
e (( ))
makes "avaliação transitiva" (no meu exemplo, isso significaria c
primeiro avalia para 7+b
e então b
avalia para 4
e finalmente ele se torna 11
)?
Pergunto porque tenho uma "briga" séria com IAs (chatGPT, gemini, claude), onde dizem que esse tipo de avaliação não acontece, mas meus exemplos mostram o contrário (dizem que c
é avaliado para 7+b
, e como não é um número, o valor 0
é tomado)... Obrigado antecipadamente