我有一个运行类似这样的批处理脚本 ./test.sh -d 2013-03-25 ;这里的日期是用户输入;但我需要将日期列表传递给这个批处理脚本;从 2013 年 3 月 1 日到 2013 年 3 月 25 日,我有 25 个连续日期;如何将每个日期动态传递给这个批处理可执行文件。
任何帮助将不胜感激
我有一个运行类似这样的批处理脚本 ./test.sh -d 2013-03-25 ;这里的日期是用户输入;但我需要将日期列表传递给这个批处理脚本;从 2013 年 3 月 1 日到 2013 年 3 月 25 日,我有 25 个连续日期;如何将每个日期动态传递给这个批处理可执行文件。
任何帮助将不胜感激
一种方法是将日期存储在数组中。这可以从 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