A sintaxe $(cmd)
captura a saída padrão de cmd
(despojado de caracteres de nova linha à direita).
Portanto, tudo o que você precisa fazer é ter getweek
da informação:
#! /bin/sh -
date +%V # or %U or %W
date
gera o número da semana em seu stdout que herda de sh
, que no caso de weeknum=$(getweek)
é definido como um pipe ou par de soquetes pelo shell na outra extremidade da qual o shell lê a saída para armazenar na variável weeknum
.
Você também pode retornar o número da semana no status de saída:
#! /bin/sh -
exit "$(date +%W)"
Qual você obtém com:
getweek
weeknum=$?
mas eu aconselharia contra isso. O status de saída deve ser reservado para relatório de erros ou limitado a valores verdadeiro / falso.
Tipicamente acima, se houver um erro (ao bifurcar um processo, ao executar date
ou sh
) ou o processo for eliminado, você receberá um status de saída diferente de zero, que não deve ser tratado como um < em> número da semana .