プロが教えるわが家の防犯対策術!

#/bin/sh

DAY=$1
TIME=`date --date '"$DAY" day ago' +%Y%m%d`
echo $TIME


上を実行しても$DAYが展開されず、
date: invalid date '"$DAY" day ago'
と、dateコマンドがエラーを返してきます。

$DAYを展開させるためにはどうクォートすればいいのでしょうか?

A 回答 (1件)

#/bin/sh



DAY=$1
TIME=`date --date "$DAY"' days ago' +%Y%m%d`
echo $TIME

これではどうでしょうか?
    • good
    • 0
この回答へのお礼

ありがとうございました.
見事に解決できました.

DAY=3だとすると
date --date 3' days ago' +%Y%m%d
が実行されているわけですよね? これをコマンドラインからたたいてみるとちゃんと値を返してくるので正常に動いてはいるようですが,
3' days ago' というオプション指定がどうもしっくりこないもので・・・.

お礼日時:2004/09/02 19:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!