Today=$(date)
for i in {2..15}
do
week_{$i}=$(date -d "$Today +$i week")
echo ${week_2}
done
我在BASH中没有获得输出值。动态更改unix中的变量名称for循环
Today=$(date)
for i in {2..15}
do
week_{$i}=$(date -d "$Today +$i week")
echo ${week_2}
done
我在BASH中没有获得输出值。动态更改unix中的变量名称for循环
一种方式...
Today=$(date) for i in {2..15} do tmp=$(date -d "$Today +$i week") eval week_${i}=\$tmp eval echo \$week_${i} done
方式二...
Today=$(date) for i in {2..15} do week_[$i]=$(date -d "$Today +$i week") echo ${week_[$i]} done第三条道路...
Today=$(date)
for i in {2..15}
do
eval echo \${week_${i}:=$(date -d "$Today +$i week")} > /dev/null
done
for i in {2..15}
do
eval echo \$week_${i}
done
可否请您解释一下?我不是什么新手,但我大部分都是*使用*它。将循环内部的变量赋值传递到外部,我无法管理,并且我尝试了一下。这是一段时间的循环,但我可以“相信”“可能会有很大的不同。 –
这个工程!谢谢 – user5705451
在这个例子中循环后可用的变量。以“第三种方式”参见第二个循环。 –
一个错误容易被发现为 “今日= $日期”,这受让人变量“date”的值**赋予名为“Today”的变量。尝试*今日= $(日期);回声$今日*开始。 –
我依稀记得for循环打开了一个子shell,并且任何变量都是该子shell的本地变量,* no way *在父shell中设置这些值。 –
* no-way *除了将值放在一个文件(或一个管道??)中并在之后提取它们。 –