Se você passar o comando entre aspas simples, ele será expandido em cada ciclo de observação, em vez de quando você executar o comando watch, por exemplo:
watch echo $(date)
watch 'echo $(date)'
O primeiro comando imprimirá a data original repetidas vezes, o segundo comando executará o date
em cada ciclo e imprimirá uma data diferente.
Isso porque você está passando a string literal echo $(date)
para o comando watch, que executa cada ciclo e ecoa a data correta. Se você não usar aspas, o shell expandirá o $(date)
e o substituirá pela saída do comando date e passará isso para watch
, para que ele imprima a mesma saída várias vezes.