Boa tarde a todos.
Estou inciando em shell script, e fazendo alguns exercicios, bem, usando o VI no Ubuntu, elaborei esses dois scripts atravez de um exercicio, no qual o primeiro se refere a mostrar a idade do "usuario" exemplo, se ele é ou não menor de idade, e o outro é referente a um calcudo de IMC.
Segue abaixo os scripts, quando executo o primeiro script me retorna a seguinte mensagem:
./hoje: line 19: syntax error near unexpected token `else'
./hoje: line 19: `else'
E quando executo o segundo:
(standard_in) 1: illegal character: :
(standard_in) 1: syntax error
(standard_in) 1: syntax error
(standard_in) 1: syntax error
valor do IMC
./hoje3: line 19: unexpected EOF while looking for matching ``'
./hoje3: line 44: syntax error: unexpected end of file
sei que em ambos os exercicios, o primeiro é referente a sintaxe else, e o segundo referente aos simbolos [``']
Segue os scripts:
#!/bin/bash
echo "DIGITE O ANO DE SEU NASCIMENTO"
read ano
echo "DIGITE O ANO ATUAL"
read atual
subtr=$(($ano-atual))
if [ $subtr -lt 18]
then
if [ $subtr -ge 18]
else
echo "VOCE É MENOR DE IDADE"
echo "VOCE É MAIOR DE IDADE"
fi
-------------------------------------------
#!/bin/bash
echo "entre com sua altura"
read altura
echo "entre com seu peso"
read peso
imc= `echo " scale=1: $peso / ( $altura * $altura )" | bc`
echo "valor do IMC $imc"
decimal= ` echo " $imc" | tr -d \.
if [ $decimal -le 185 ]; then
echo "magro"
elif [ $decimal -gt 185 -a $decimal -le 250 ]; then
echo "peso normal"
elif [ $decimal -gt 250 -a $decimal -le 300 ]; then
echo "peso acima do normal"
elif [ $decimal -gt 300 ]; then
echo "obesidade"
poderiam me orientar como solucionar esse erro?
Obrigado desde ja.