1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Dúvida em bash script

Discussão em 'Programação' iniciada por r1ckdangerous, 28 de Abril de 2008. (Respostas: 4; Visualizações: 457)

  1. r1ckdangerous

    r1ckdangerous Power Member

    Greetings!

    Queria escrever um ficheiro com o formato data (date +%D ) mas ele escreve-me sempre a string e não o conteúdo. Se eu fizer echo date +%D dá-me bem mas se for a criar o file não. Já agora a ideia é criar um log (cujo o nome é a data do sistema em formato %D e com extensão .log). Thanks!
     
  2. eXcept

    eXcept Power Member

    Código:
    
    $data=`date +%D`
    
    notar ali o acento grave
     
  3. r1ckdangerous

    r1ckdangerous Power Member

    Já consegui mas de outra maneira.

    Não utilizei o formato %D mas sim o %Y%m%d e meti assim :

    file=$(date +%Y%m%d).log
    touch $file
    echo $1 >> $file

    e está a bombar na boa, obrigado à mesma my friend.
     
  4. slack_guy

    slack_guy Power Member

    Para que é o 'touch'? Quando fazes uma saída para um ficheiro, o ficheiro é criado, se não existir.
     
  5. PrOdG

    PrOdG Power Member

    Just for the record, utilizar os expansores `` (backtick) ou $() é exactamente a mesma coisa (bem, um permite nesting e o outro não, mas para este caso é indiferente).

    Essas 3 linhas podem ser escritas numa única:
    Código:
    echo $1 > `date +%Y%m%d`.log
    ou
    echo $1 > $(date +%Y%m%d).log
    Pessoalmente prefiro os backticks, são mais readable.
     

Partilhar esta Página