Este é o meu código:
Number=12
ListOperation=('+' '/' '*' '-')
if [[ " ${ListOperation[*]} " == *"/"* ]]; then
let Result="$Number $operation $Number"
echo $Result
fi
Por que "[]" é usado duas vezes em "if? Por que "*" é usado ao lado da string "/"?
Você pode pensar no
[[
...]]
como uma seqüência de caracteres de controle que sinaliza para o bash avaliar qualquer expressão encontrada entre eles como uma expressão condicional .Da mesma forma, o
*
também é um caractere de controle especial, que diz ao bash para "combinar qualquer coisa". À medida que você se torna mais adepto da programação, você aprenderá que seu nome próprio é um metacaracter, mas isso não é importante por enquanto.Para aprender sobre expressões condicionais bash, você pode digitar
man bash
em seu terminal e pular para a seção digitando /e, no prompt resultante, digitandoCONDITIONAL EXPRESSIONS
seguido de Enter. Pode ser necessário digitarn
algumas vezes para chegar à seção real.Divirta-se enquanto aprende.