3 Aula Script 2 1
Prof. Juliano
Expressões aritméticas
• Comando expr (não executa cálculo com números decimais)
– Podemos usar números ou variáveis como parâmetros do comando expr. Exemplo: (2+10)/2 resultado=`expr \( 2 + 10 \) /
2`
(sinal de crase)
– Note que ao usar os símbolos ( ) e também o símbolo de multiplicação * devemos inserir o \ antes, pois estes símbolos são meta-caracteres. Exemplo: 2+4*2 calc=`expr 2 + 4
\* 2`
Exemplo
#!/bin/bash
echo “Digite um numero inteiro” read n1 echo “Digite outro numero inteiro” read n2 n3=`expr $n1 \* $n2` echo “O valor é: $n3“
Expressões aritméticas
• Para cálculos decimais devemos usar o utilitário/calculadora chamado bc. echo 1.99 + 2.45 | bc
• O pipe deve ser usado para direcionar a saída do cálculo para o utilitário bc #!/bin/bash a=5.33 b=3.12 echo “O resultado é: “ echo “$a + $b“ | bc
Ou: c=`echo “$a echo “$c”
+ $b“ | bc`
Expressões aritméticas
• Para cálculos de números inteiros com resultados decimais, usamos o comando scale em conjunto com o bc
#!/bin/bash
n1=7 n2=5 n3=3 echo “scale=2; $n1*$n2/$n3” | bc
Ou:
c=`echo "scale=2; $n1*$n2/$n3" | bc` echo "$c"
#!/bin/bash echo "Digite um número" read num1 echo "Digite outro número" read num2 echo "scale=2; ($num1+$num2)/2" | bc
Ou: c=`echo "scale=2; ($num1+$num2)/2" | bc` echo “O resultado eh $c”
Shell Script
• Recebimento de opções (ou valores)
– Os scripts também podem ser preparados para receber dados via linha de comando.
Variável
Parâmetros
$0
Parâmetro numero zero (comando ou nome do script)
$1
Parâmetro numero um
${10}
Parâmetro número 10
$#
Mostra quantos parâmetros o usuário especificou na linha de comando
$*
Contém/mostra todos os parâmetros digitados pelo usuário, como uma linha única
Shell Script
• Exemplo
#!/bin/bash
echo "O nome deste script é: $0" echo "Recebidos $# argumentos: $*" echo "O primeiro argumento recebido foi: $1" echo "O segundo argumento recebido foi: $2"
Exemplo
#!/bin/bash a=`echo $1 + $2 + $3 | bc`