2013-08-05 4 views
7

bashスクリプトで動的な日数の日付を計算しようとしています。引数変数を使用してX日前の日付をbashスクリプトで取得する

これは私がやったものです -

#!/bin/bash 
STAMP=`date --date='$1 day ago' +%y%m%d` 

が、myscript 2を実行しているとき、それは言う -

date: invalid date `$1 day ago' 

は、どのように私は、この式では、私の引数の値を使用できますか?

答えて

13

「スクリプトでこのコマンドに」に置き換えている -

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

手掛かりは、2つの異なる文字 `とした」場合、それが動作エラー応答で使用される -

date: invalid date `$1 day ago' 

アン

3

可変引用符は単一引用符ではないので、つまり'$1'です拡張しないだろうが、"$1"だろう。このように

、働くだろう

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

または

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

を言って。

関連する問題