removido
(usa Nenhuma)
Enviado em 16/04/2017 - 11:46h
Pode assustar um pouco mas fiz umas correções no script original.
Lá embaixo aparece uma chamada da função FN usando 123 como argumento.
Esse argumento é representado na função por $1. Dentro da função ele vai para a variável $fn.
Daí começa o IF.
Se o tamanho for igual a 1, ele completa com três zeros e joga tudo para dentro de $fn.
Agora o truque: ELIF significa ELSE IF.
Ao invés de você escrever uma porção de "else if" você usa "elif".
Fica mais simples.
Se a condição do IF não dá certo, ele vai para o primeiro ELIF, para o segundo etc.
Até chegar no ELSE se houver.
Mas para que usar ECHO?
É um procedimento normal em scripts.
Ele é usado para a função gerar um valor de retorno.
Dependendo de como a função foi chamada o ECHO escreve a saída $fn em lugares diferentes.
A opção
-n é para o ECHO não imprimir caractere de mudança de linha.
A função é chamada como
fn=`FN 123`
Veja que o caractere
` é diferente do caractere
' .
Essa escrita quer dizer executar a função FN com o argumento 123 e jogar a saída dentro da variável $fn.
Sem o par de `...` daria erro no sinal de =.
Sem mandar para a variável $fn, o ECHO da função FN apenas escreveria na tela.
#!/bin/bash
FN(){
fn="$1"
if [ ${#fn} -eq 1 ]
then
fn="000${fn}"
elif [ ${#fn} -eq 2 ]
then
fn="00${fn}"
elif [ ${#fn} -eq 3 ]
then
fn="0${fn}"
fi
echo -n "$fn"
}
fn=`FN 123`
----------------------------------------------------------------------------------------------------------------
Nem direita, nem esquerda. Quando se trata de corrupção o Brasil é ambidestro.
(anônimo)
Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden