スクリプトファイルは特定の日付を設定します。

スクリプトファイルは特定の日付を設定します。

毎月実行する必要があるスクリプトファイルを作成しましたが、問題は20170701から20170801までの日付と同じで、翌月には20170801から20170901まで再実行する必要があることです。スクリプトファイルからどのように取得できますか?これが私が得たものですが、手動で入れる必要がある時です。

echo    "Specify Date Range ... "
echo    " Date From:"
read DATE1
echo    " Date To:"
read DATE2
runcbl -1 -3 uniexp $DATE1$DATE2

いいですね。みんなの助けに感謝します。成功しました!

答え1

指定した形式で今日の日付を取得するには、次のようにします。

date +%Y%m%d

1か月前の日付を取得するには、以下を使用してください。

date +%Y%m%d --date="last month"

システムがGNUを提供するdateか、date同様の自由形式の--date引数の解析を持っていると仮定します。

質問man dateシステムでサポートされているオプションを入手してください。


使用したい日付と一致する日付でスクリプトを実行している場合は、日付の入力を求める必要はありません。日付文字列をスクリプトに統合するだけです。例えば

runcbl -1 -3 uniexp $(date +%Y%m%d) $(date +%Y%m%d --date="last month")

関連情報