2017-05-07 125 views
-3

這是一個腳本,在前一個考試的問題,我很困惑,爲什麼我等於6和J等於九。請有人詳細說明一下嗎?Bash腳本循環?

下面是一個小型的bash腳本。最終回聲 聲明的輸出是什麼?顯示你的工作。

#!/bin/sh 
i=0 
for a in 9 8 7 6 5 4 
do 
j=1 
for b in 1 2 3 4 
do 
let "j+=2" 
done 
let "i+=1" 
done 
echo "i=$i j=$j" 
+1

也顯示你的嘗試,請! – fedorqui

+0

在這裏發佈你的代碼,鏈接不是一個好主意。 – luoluo

+1

你爲什麼不爲我們重寫?我很抱歉,但我使用文本瀏覽器,無法打開圖像... – Sylogista

回答

3

你應該寫出代碼;

#!/bin/sh 

i=0 
for a in 9 8 7 6 5 4 # <- i gets incremented by 1 for each "step" here. 
do 
    j=1 
    for b in 1 2 3 4 # <- j gets incremented by 2 for each "step" here. 
    do 
     let "j+=2"  # <- this is where j get incremented 
    done 
    let "i+=1"   # <- this is where i get incremented 
done 
echo "i=$i j=$j" 

因此,

  • j具有爲1的初始值,並得到由2(4次)= 9
  • i是否爲0的起始值,並且得到由遞增遞增+1(6次)= 6
+0

謝謝,非常感謝 –

+0

@MShaw沒問題。我可以建議你閱讀提問指南。 https://stackoverflow.com/help/asking - StackOverflow不是一個將你的作業發佈給其他人來解決的論壇 - 但是在這種情況下,我喜歡你的示例,這對我在開始時會有所幫助。 – hmedia1