2013-08-05 8 views

Odpowiedz

13

To działa, jeśli „zastępuje się" do tego polecenia w skrypcie -

STAMP=`date --date="$1 day ago" +%y%m%d` 

Kluczem było dwóch różnych znaków `i” stosowany w odpowiedzi Błąd -

date: invalid date `$1 day ago' 

An specjalista od skryptowania bash (nie ja) może prawdopodobnie wyjaśnić, dlaczego tak się stało.

3

Dzieje się tak dlatego, że zmienna substytucja nie miałaby miejsca w pojedynczych cudzysłowach, tj. '$1' nie rozwinęłoby się, ale zrobiłoby to "$1".

Jako taki, mówiąc

STAMP=`date --date="$1 day ago" +%y%m%d` 

lub

STAMP=$(date --date="$1 day ago" +%y%m%d) 

będzie działać.