acrescenta tempo para registrar nomes de arquivos

1

Eu quero tornar log_files nomeado como log_Jan_01_hh:mm:ss , então a variável time-stamp é definida como date +"%b_%d_%T" .
Agora, se eu definir o valor para uma variável:

setenv now 'date +"%b_%d_%T"'

Em seguida, a variável $now obtém o valor de atualização nesse momento, portanto, todos os arquivos de registro de tempo têm o mesmo nome.

Como posso fazer algo para que $now receba um valor atualizado a cada momento?

    
por JigarGandhi 03.12.2014 / 10:51

2 respostas

3

Se você apenas armazenar uma string em $now e adicionar backticks quando a invocar, você verá a data atual:

[~]% setenv now 'date +"%b_%d_%T"'

[~]% echo $now
date +"%b_%d_%T"

[~]% echo '$now'
"Dec_03_13:09:52"

[~]% echo '$now'
"Dec_03_13:09:54"

Isso é efetivamente o mesmo que fazer:

[~]% echo 'date +"%b_%d_%T"'

Não há como informar tcsh para reavaliar o comando ao invocar a variável; você atribui uma string a $now e tcsh não tem como saber qual comando gerou essa string.
Outra (possível) solução pode estar usando funções, mas tcsh não as possui também ...

    
por 03.12.2014 / 13:11
0

Adicione ao seu crontab e execute-o a cada minuto.

crontab -e

Insira uma linha como essa:

* * * * * setenv now 'date +"%b_%d_%T"'

Salve e saia. Sua variável será atualizada a cada minuto.

    
por 03.12.2014 / 11:00

Tags