Como inserir data como uma opção em um comando bash? [duplicado]

2

Eu quero inserir a data atual (idealmente no formato AAAA-MM-DD hh: mm) como uma opção em um script bash:

Eu tentei

/usr/local/bin/growlnotify -t "PMK" -m date

mas a variável -m insere a string "date" na saída. Como posso dizer ao script que ele tem que usar o valor de saída do comando "date"?

(Estou usando o MacOS X 10.6 e o comando growlnotify é usado para exibir uma janela pop-up com duas cadeias de caracteres ("PMK" e uma segunda em que eu gostaria de obter a data / hora atual) link )

    
por MostlyHarmless 31.10.2014 / 11:38

1 resposta

3

escrever date como argumento para outro comando não lhe dará a saída desse comando, apenas a string que você digitou.

No bash você pode inserir o resultado de um comando incluindo-o em $( ) . Isso significa que você precisa especificar o formulário (formato) que deseja obter de date , e isso pode ser deduzido de man date (seção FORMAT):

date '+%Y-%m-%d %H:%M'

Isso lhe dará um relógio de 24 horas (há outras maneiras de obter esse resultado, como Costas indicou, mas dessa forma você pode facilmente mudar os caracteres entre a representação do ano, por exemplo, alemães querem / ).

A chamada completa seria então (não é necessário citar PMK , mas não se esqueça do $( ...) ):

/usr/local/bin/growlnotify -t PMK -m "$(date '+%Y-%m-%d %H:%M')"
    
por 31.10.2014 / 12:03