Saída do tempo unix no alias

3

Estou executando uma loja on-line onde posso colocar uma tag de versão variável para incluir JS e CSS como um cachebuster. Eu e.

styles.css?v2018_01

Em que 2018_01 é a tag de versão. Agora eu também tenho uma ferramenta CLI que faz com que seja rápido definir assim

mr config:set 'design/head/meta_version_tag' [insert_my_var_here]

E o que eu quero fazer é criar um alias de Bash que defina a variável para o carimbo de data / hora do Unix sempre que ela for executada. Eu sei que posso obter o timestamp do Unix com date +%s .

Então, eu criaria um alias como este:

mr config:set 'design/head/meta_version_tag' date +%s

Mas a CLI interpreta o date +%s como uma string, em vez de obter sua saída primeiro.

Então, o que eu preciso é de uma saída como esta:

mr config:set 'design/head/meta_version_tag' 1519747390

E então a minha pergunta é; Como posso obter a saída do datastamp unix no meu alias?

    
por Alex Timmer 27.02.2018 / 17:04

2 respostas

6

Se você usar bash , poderá usar Substituição de comando :

mr config:set 'design/head/meta_version_tag' $(date +%s)

Isso primeiro executará date +%s em uma subshell e incluirá a saída como uma string, consulte man bash em EXPANSION / Command Substitution:

  

Bash realiza a expansão executando command e substituindo   a          substituição de comando com a saída padrão do comando, com qualquer          novas linhas finais eliminadas.

Não há necessidade de citar a substituição de comando (como você faria normalmente) nesse caso, pois a saída de date +%s não possui espaços em branco.

    
por dessert 27.02.2018 / 17:08
2

Que tal

mr config:set 'design/head/meta_version_tag' $(date +%s)

Ou

alias dothething='mr config:set "design/head/meta_version_tag" $(date +%s)'
    
por waltinator 27.02.2018 / 17:09

Tags