1

基本的に2つの日付で機能するこの機能に取り組んでいます。1 つは現在の日付で、もう 1 つは 1 か月前の日付です。コードは次のとおりです。

 dateTale=$(date -d "$(date) - 1 month" +%Y%m%d)
 now=$(date +%Y%m%d)
 while ["$dateTale" -lt "$now"]
  do 
   $dateTale=$(date -d "$dateTale + 1 day" +%Y%m%d) 
  echo "adding" 
 done

ご覧のとおり、現在の日付に達するまで dateTale を増やそうとしていますが、[20120703: コマンドが見つかりません] というエラー メッセージが表示され続けます。しかし、解決された場合でも、-lt は実際の日付値または数値を計算しますか?

何かアドバイス?

4

3 に答える 3

7

[コマンドを使用する場合、スペースは重要です。

while [ "$dateTale" -lt "$now" ]

また、変数に割り当てるときに「$」を使用しません (perl や php とは異なります):

dateTale=$(date -d "$dateTale + 1 day" +%Y%m%d)
于 2012-08-03T14:37:13.303 に答える
2

すべきではあり$dateTaleません$(dateTale)

于 2012-08-03T14:36:58.683 に答える