removido
(usa Nenhuma)
Enviado em 15/03/2017 - 17:48h
douglashenrique9 escreveu:
Tenho um script que estou estudando onde usa o Log e queria saber para que serve este "Log"
o escript é:
#!/bin/bash
CarregarCabecalho(){
Log "# Arquivo criado por ${0##*/} em '$AGORA'"
Log "$(cat $CABECALHO)\n"
}
Log(){
echo -e "$1" >> "$CONF"
}
É uma função, observe a linha Log(). Basicamente ela pega a primeira coisa que ela recebe (o $1 significa isso) e depois ela escreve o conteudo da variavel $1 no final do arquivo $CONF.
A função log recebe o conteúdo via a função "CarregarCabecalho()". E tudo isso é declarado antes de chamar a Função "Main" la no final (Você não pode usar uma função sem declarar ela antes)
Exemplo de um script mais simples:
#!/bin/bash
echo "Diga algo"
read VARIAVEL # Pede para o usuario escrever alguma coisa, e salva isso na $VARIAVEL
echo "Diga onde você quer salvar"
read ARQUIVO
Função_Qualquer() # Declarando a função
{
echo -n "$VARIAVEL" >> "$ARQUIVO" # Usa o comando echo, escrevendo $VARIAVEL (o que está contida nela) para a stdout (Leia sobre isso, vai te ajudar bastante). Então o ">>" redireciona o stdout para o final do $ARQUIVO.
NUMERO_DE_LETRAS=`wc -m $ARQUIVO` # Define NUMERO_DE_LETRAS como o resultado do comando "wc -m $ARQUIVO"
echo "$NUMERO_DE_LETRAS" # Escreve o que está contido em $NUMERO_DE_LETRAS
}
Função_Qualquer # Chama a função, ou seja, nada do que está escrito acima executa sem você chamar a função
#Note o "echo -n" ao invés de "echo", basicamente o "echo -n" não escreve o \n no final de cada string. Ou seja, ele não vai para a próxima linha, ou escreve ela.
exit
Literatura recomendada
https://linuxjourney.com/lesson/stdout-standard-out-redirect
Assim como "man echo"