msoliver
(usa Debian)
Enviado em 14/10/2016 - 11:58h
marlirodrigues escreveu:
Obrigado Marcelo.
Pude entender mais, realmente estou tendo muita dificuldade nessa matéria, até mesmo porque faço curso a distância, acredito também em crítica construtiva, assim então podemos analisar nossos erros e corrigi-los .
Refiz o script , rodou normalmente.
#!/bin/bash
#parincorreto.sh
var1="10"
var2="80"
var3="22"
var4="40"
echo "Nome do script: $0"
echo "Primeiro parâmetro: $var1"
echo "segundo parâmetro: $var2"
echo "terceiro parâmetro: $var3"
echo "quarto parâmetro: $var4"
echo "Todos os parâmetros: $var1 $var2 $var3 $var4"
echo "Número de parâmetro: $#4"
echo "Número de parâmetros incorreto"
echo "O número maior é: $var2"
fi
done
==============================================================================
Boa tarde Marli.
Vou tentar não "dar bronca" . . . Rsrsrsrs
O seu script continua ERRADO!
1º - EXISTE um "fi" e um "done" (
GRAFADOS em NEGRITO ACIMA ) DESNECESSáRIOS. PORTANTO, ACUSA ERRO!!!!
2º - TOTALMENTE em
DESACORDO com o
ENUNCIADO
Somente use o "fi", quando usar o "if".
EXEMPLO "if ... then ...else...fi":
A=13
if ((A>10));then #TESTA CONDIÇÃO
echo "VERDADEIRO" #SAÍDA SE "CONDIÇÃO" É VERDADE
else
echo "FALSO" #SAÍDA SE "CONDIÇÃO" É FALSA
fi
SINTAXE REDUZIDA DO CONDICIONAL:
A=20
((A>10)) && echo "VERDADEIRO" || echo "FALSO"
Somente use o "
done ", quando usar um "laço"(while, until, for).
EXEMPLO:
A=0
while ((A<10));do #TESTA CONDIÇÃO. ENQUANTO "A" É MENOR QUE 10, EXECUTE AS LINHAS ABAIXO
echo "$A" #"MOSTRA" VARIáVEL A
let A++ #ACRESCENTA 1 NA VAR "A"
done
============================================================
VAMOS ao ENUNCIADO:
Crie uma função que receba 3 números como parâmetro e mostre o valor do maior número.
Caso seja recebido menos ou mais números como parâmetro deverá ser impressa a mensagem “Número de parâmetros incorreto ”.
A FUNÇÃO tem que RECEBER os PARÂMETROS, pela linha de COMANDO!!!!
Como citei na RESPOSTA ANTERIOR.
/PARAM.sh 7 80 10
A FUNÇÃO É quem vai avaliar qual é o
MAIOR NÚMERO ,
E "SE" a QUANTIDADE de PARÂMETROS é
MAIOR ou
MENOR que 3.
REVEJA o "CONCEITO" DE
FUNÇÃO e
PARÂMETROS .
============================================================
-------------------------------------------------------------------------------------
Em tempo . . .
realmente estou tendo muita dificuldade nessa matéria
No início, isso é NORMAL!!!!
Qdo comecei, não entendia NADA!!!!
Não fiz curso, aderi ao "autodidatismo".
-------------------------------------------------------------------------------------
Segue o "seu" SCRIPT, usando FUNÇÃO e PARÂMETROS:
#!/bin/bash
#PARAMETROS.sh
CVD="\e[0;38;5;118m"
CVM="\e[0;38;5;196m"
CAM="\e[0;38;5;11m"
CF="\e[m"
PEGA_PARAMETROS() {
if (($# == 3));then
echo -e ""$CVD"\nQuantidade de parâmetros correto"$CF""
echo "Nome do script: $0"
echo "1º parâmetro: $1"
echo "2º parâmetro: $2"
echo "3º parâmetro: $3"
echo "Todos os parâmetros: $@"
echo "Quantidade de parâmetros: $#"
#TESTA QUEM É o MAIOR
if (($1>$2 && $1>$3));then echo -e ""$CAM"1º PARÂMETRO Nº: \"$1\", É O MAIOR $CF"
elif (($2>$1 && $2>$3));then echo -e ""$CAM"2º PARÂMETRO Nº: \"$2\", É O MAIOR $CF"
elif (($3>$1 && $3>$2));then echo -e ""$CAM"3º PARÂMETRO Nº: \"$3\", É O MAIOR $CF"
fi
else
echo -e ""$CVM"\"Quantidade de parâmetros incorreta\""$CF""
fi
}
PEGA_PARAMETROS $@
#A LINHA ACIMA, FAZ PARTE Do SCRIPT
Salve-o com o nome PARAMETROS.sh, dê permissão de EXECUÇÃO,
chmod +x PARAMETROS.sh
Execute da seguinte forma:
./PARAMETROS.sh 10 15 2
Marli, "estude" o SCRIPT ACIMA, e retorne para SANAR as DÚVIDAS....
A NOVIDADE é que TEM CORES . . .
Att.:
Marcelo Oliver