【发布时间】:2016-02-07 17:16:24
【问题描述】:
Today=$(date)
for i in {2..15}
do
week_{$i}=$(date -d "$Today +$i week")
echo ${week_2}
done
我在 BASH 的输出中没有得到任何值。
【问题讨论】:
-
一个容易发现的错误是“Today=$date”,它将变量“date”的值分配给名为“Today”的变量。尝试 Today=$(date);echo $Today 作为开始。
-
我依稀记得for循环打开了一个子shell,任何变量都是该子shell的本地变量,没有办法在父shell中设置这些值.
-
no-way 除了将值放在文件(或管道??)中然后提取它们。
-
@Starkeen 看起来您的编辑中有错字。将“Today=$date for i in {2..15} do”放在一行中会产生语法错误。应该是 2 行或一个“;”在“为”之前。
-
和“do”之前的另一个换行符或分号
标签: unix for-loop dynamic-variables