在shell编程的for in循环中,如何在条件中使用两个变量。

在C/C++中可以写成for(i=1,j=7;i<5,j>3;i++,j--),这里for循环的条件就用到了两个变量,但我不知道在shell下的for循环中如何编写,希望有知道高手帮帮忙

第1个回答  2012-04-12
如果是bash, 可以用 for (( expr1; expr2; expr3 )) 这种循环语法来实现。 比如

for (( i=1, j=7; i<5 && j >3; i++, j-- ))
do
echo "i $i, j $j"
done追问

运行了一下,确实可以。谢谢了。因为以前学C++,感觉和shell的程序的语法区别比较大,但不知道有哪些比较好的书是比较关注语法和正则表达式这一块的。你能推荐一两本关于shell编程的书吗,特别是上面我提到那两块的知识。

追答

市面上有很多讲 shell (bash) 编程的书,你自己挑吧,都可以用,我没有看过相关的书,就不做推荐了。

正则表达式的书也很多,你自己看吧。我当初学正则表达式是在学 sed/awk 时看的 《sed & awk》 这本。

本回答被提问者和网友采纳
第2个回答  2015-07-03
如果是bash, 可以用 for (( expr1; expr2; expr3 )) 这种循环语法来实现。 比如

for (( i=1, j=7; i<5 && j >3; i++, j-- ))
do
echo "i $i, j $j"
done
相似回答