Vamos dividir isso em suas partes constituintes:
A date parte
-
date -u: conforme explicado emman date, a sinalização-ufaz com que imprima o Horário universal coordenado -
+%V: o comando data aceita um argumento de formato que é fornecido após um+. Por exemplo:$ date +%m/%d/%y 05/04/14Veja
man datepara obter uma lista de todos os formatos que ele pode produzir. O%Vsignifica:% V número da semana ISO, com segunda-feira como primeiro dia da semana (01.53)
Então, essa semana ele retornará:
$ date +%V 18E na próxima semana , ele retornará
19. -
$(uname): isso simplesmente imprimirá o resultado do comandouname, que deve serLinuxem um sistema Linux.
Então, colocando tudo isso junto, o comando date imprimirá WeekNumberLinux :
$ date -u +%V$(uname)
18Linux
A sha256sum parte
sha256sum simplesmente recebe uma string de entrada e aplica uma função hash a ela. Isso produz uma longa string que é exclusiva para a entrada dada:
$ date -u +%V$(uname) | sha256sum
9a93b71d5b2841e649195bc81f8e38600860a040bc368cdbd0cde346b73248a1 -
A sed parte
O comando sed usa o operador susbtitution ( s/pattern/replacment/ ), que substituirá pattern por replacement . Nesse caso, o padrão é \W , que significa "Todos os caracteres não-palavra", significando qualquer coisa que não seja [A-Za-z0-9_] , não uma letra, não um número e não um sublinhado. Isso é usado para remover o espaço à direita e - da saída de sha256sum .
Assim, o comando é uma maneira simples de garantir que você não é um robô. Como o date está imprimindo a semana atual, sua saída será sempre a mesma até a próxima semana, quando será alterada.