Prof. Angela F. Ferreira e Prof. Gustavo S. de Lima
Operadores
Operadores de BIT (atribuição)
$ echo `expr 10 + 15` 25 |
$ echo $((20+2)) 22 |
$ echo $((10-5)) 5 |
$ echo $((2*10)) 20 |
$ echo $(((2*10)/2)) 10 |
$ echo $((3%2)) 1 |
$ expon=5 $ echo $(($expon**2)) 25 |
$ NUMERO=1 $ while [ $NUMERO -lt 10 ] > do > echo $NUMERO > let NUMERO++ > sleep 1 > done 1 2 3 4 5 6 7 8 9 |
Em Matemática | Em Shell Script |
10 == 20 | if [ 10 -eq 20 ] |
10 != 20 | if [ 10 -ne 20 ] |
10 < 20 | if [ 10 -lt 20 ] |
10 <= 20 | if [ 10 -le 20 ] |
10 > 20 | if [ 10 -gt 20 ] |
10 >= 20 | if [ 10 -ge 20 ] |
$ for (( i=1; $i < 15;i++)); do echo $i; done 1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
test -d "$diretorio" && cd "$diretorio" |
mkdir "$HOME/bin" && cd "$HOME/bin" || exit 1 |
$ valor1=10 $ valor2=20 $ if [ $valor1 == 10 ] && [ $valor2 == 20 ] > then > echo "verdade" > else > echo "mentira" > fi verdade |
$ amigo1=charlie $ amigo2=snoop $ if [ $amigo1 == charlie ] && [ $amigo2 == snoop ]; then echo verdadeiro; else echo falso; fi verdadeiro $ if [ $amigo1 == charlie ] && [ $amigo2 == sinistro ]; then echo verdadeiro; else echo falso; fi falso |
if [[ $condicao1 && $condicao2 ]] |
$ if [ $amigo1 == charlie ] || [ $amigo2 == sinistro ]; then echo verdadeiro; else echo falso; fi verdadeiro |
if [[ $condicao1 || $condicao2 ]] |
test -w $arquivo || { echo "$arquivo não é gravável!"; exit 1; } |
if [ ! -f $ARQUIVO ] then ... |
$ fruta=laranja $ if ! [ $fruta == banana ] > then > echo "Verdadeiro se a fruta não for banana" > else > echo "Falso se a fruta for banana" > fi Verdadeiro se a fruta não for banana |
Expressão | Teste de verdade |
-e arquivo | verdadeiro se arquivo existe |
-f arquivo | verdadeiro se arquivo existe e é um arquivo normal |
-r arquivo | verdadeiro se arquivo pode ser lido |
-w arquivo | verdadeiro se arquivo pode ser gravado |
-x arquivo | verdadeiro se arquivo pode ser executado |
-d arquivo | verdadeiro se arquivo é um diretório |
-b arquivo | verdadeiro se arquivo é um dispositivo de bloco |
-c arquivo | verdadeiro se arquivo é um dispositivo de caractere |
-L arquivo | verdadeiro se arquivo é um link simbólico |