push () { date "+%F/push/$1" >> /tmp/pushlog.txt; }
Isso define uma função de shell que anexa a string ao arquivo /tmp/pushlog.txt
.
A string de formato usada com date
incorpora o primeiro argumento da linha de comando da função shell.
bash-4.4$ push 123
bash-4.4$ push "hello world"
bash-4.4$ push "%s"
bash-4.4$
bash-4.4$ cat /tmp/pushlog.txt
2017-08-29/push/123
2017-08-29/push/hello world
2017-08-29/push/1504041277
Se você estiver planejando usar push
para enviar strings que podem ser interpretadas por date
(como no último exemplo), e se não for o que você deseja, use:
push () { printf '%s/push/%s\n' "$(date '+%F')" "$1" >> /tmp/pushlog.txt; }
O motivo pelo qual você obtém uma nova linha indesejada em seu arquivo é que date
gera uma nova linha no final de sua saída. Essa nova linha é removida ao usar date
em $(...)
, como fiz na segunda implementação da função shell acima.