0

我有一个运行类似这样的批处理脚本 ./test.sh -d 2013-03-25 ;这里的日期是用户输入;但我需要将日期列表传递给这个批处理脚本;从 2013 年 3 月 1 日到 2013 年 3 月 25 日,我有 25 个连续日期;如何将每个日期动态传递给这个批处理可执行文件。

任何帮助将不胜感激

4

1 回答 1

1

一种方法是将日期存储在数组中。这可以从 shell 脚本中很好地工作。

dates=(2013-03-01 2013-03-02 etc...)

for date in "${dates[@]}"; do
    ./test.sh -d "$date"
done

另一种方法是将日期存储在文本文件中,每行一个。如果你这样做了,那么你可以像这样传递它们:

xargs -a dates.txt -d '\n' ./test.sh

或者,由于日期是连续的并且在同一个月,您可以以编程方式循环它们。

for day in 00..25; do
    ./test.sh -d "2013-03-$day"
done

for ((day = 1; day <= 25; ++day)); do
    ./test.sh -d "2013-03-$(printf '%02d' "$day")"
done
于 2013-03-25T15:32:16.993 回答