我是shell脚本新手。尝试创建目录并将其移动到for循环本身的其他目录中。但是第一个目录,即01没有被创建。
year=20017
month=(01 02 03 04 05 06 07 08 09 10 11 12)
for month in ${month[@]}
do
echo $month
echo "Data importing for $year $month"
echo "Data imported for $year $month"
mkdir "$month"
mv "$month" "$year"
done here
答案 0 :(得分:0)
Bash数组索引从0开始,而不是1 所以:
year=20017
month=(0 1 2 3 4 5 6 7 8 9 10 11)
for month in ${month[@]}
do
echo $month
echo "Data importing for $year $month"
echo "Data imported for $year $month"
mkdir "$month"
mv "$month" "$year"
done here
<强>更新强>:
你是对的:
year=2017
months=(jan feb mar apr may jun jul aug sep oct nov dec)
for m in ${months[@]}
do
echo $m
done
这是因为索引是字符串,所以$months
在内部处理为对象,而不是数组。