Por que uma recarga diária de .zshrc é necessária usando um alias contendo $ (date -u +% Y% m% d)? [fechadas]

2

Todas as manhãs, executo o seguinte comando que codifica um arquivo de log criado diariamente:

ssh -t [email protected] tail -f development/abc/$(date -u +%Y%m%d).log

Isso funciona bem e todas as manhãs o arquivo de log daquele dia é acessado sem problemas. Na sexta-feira passada eu criei o seguinte apelido para este comando em .zshrc e na sexta-feira ele funcionou perfeitamente:

alias abc_log='ssh -t [email protected] tail -f development/abc/$(date -u +%Y%m%d).log'

Esta manhã eu executei o abc_log e recebi este erro:

    tail: cannot open 'development/abc/20160509.log' for reading: No such file or directory
Connection to 55.555.55.55 closed.

Quando corri source ~/.zshrc , então abc_log funcionou normalmente. Eu prefiro não ter que recarregar .zshrc todas as manhãs. Sugestões? Obrigado!

    
por little_bobby_tables 09.05.2016 / 12:23

1 resposta

-1

O comando date incorporado será avaliado apenas uma vez: quando o alias for criado. É por isso que recarregar o .zshrc faz com que funcione novamente. Se você usar uma função como djf sugerido, ela será avaliada toda vez que parecer ser o comportamento desejado.

    
por 09.05.2016 / 13:59