2017-05-07 169 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