- ベストアンサー
シェルスクリプト:N日前の日付の取得
#/bin/sh DAY=$1 TIME=`date --date '"$DAY" day ago' +%Y%m%d` echo $TIME 上を実行しても$DAYが展開されず、 date: invalid date '"$DAY" day ago' と、dateコマンドがエラーを返してきます。 $DAYを展開させるためにはどうクォートすればいいのでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
#/bin/sh DAY=$1 TIME=`date --date "$DAY"' days ago' +%Y%m%d` echo $TIME これではどうでしょうか?
お礼
ありがとうございました. 見事に解決できました. DAY=3だとすると date --date 3' days ago' +%Y%m%d が実行されているわけですよね? これをコマンドラインからたたいてみるとちゃんと値を返してくるので正常に動いてはいるようですが, 3' days ago' というオプション指定がどうもしっくりこないもので・・・.