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 *除了將值放在一個文件(或一個管道??)中並在之後提取它們。 –