O date -r
e esse sabor de stat
são específicos do GNU. Talvez você tenha sido informado por um usuário do Linux e esteja usando outro sistema.
Infelizmente, não há um comando padrão para obter essas informações de maneira confiável. O mais portátil que você poderia conseguir seria:
modDate=$(perl -MPOSIX -le '@s=stat shift or die$!;
print strftime "%Y-%m-%d", localtime $s[9]' -- "$1") || exit
zsh
tem seu próprio comando stat
incorporado:
zmodload zsh/stat
zstat -F %F +mtime -- "$1"
(esses dois comandos acima, para links simbólicos, retornariam a hora da modificação do destino do symlink como GNU date -r
, se você quiser o tempo do symlink (como no seu comando GNU stat
), mude stat
a lstat
na solução perl
ou adicione -L
a zstat
).
Além disso, você esqueceu as aspas duplas em torno de suas variáveis e você não deve usar echo
para dados arbitrários.