![带有嵌套for循环的脚本](https://linux22.com/image/79087/%E5%B8%A6%E6%9C%89%E5%B5%8C%E5%A5%97for%E5%BE%AA%E7%8E%AF%E7%9A%84%E8%84%9A%E6%9C%AC.png)
这是代码,我需要像这样在终端中显示:
(1,1) (1,2) (1,3) (1,4) (1,5)
(2,1) (2,2) (2,3) (2,4) (2,5)
(3,1) (3,2) (3,3) (3,4) (3,5)
(4,1) (4,2) (4,3) (4,4) (4,5)
但我的输出是这样的:
1,1) 1,1) 1,1) 1,1) 1,1)
2,1) 2,1) 2,1) 2,1) 2,1)
3,1) 3,1) 3,1) 3,1) 3,1)
4,1) 4,1) 4,1) 4,1) 4,1)
我不知道我哪里犯了错误。如果错误很明显,我很抱歉。
for (( i = 1; i < 5; i++ ))
do
for (( j=1; j<=5; j++))
do
echo -n "$i,1) "
done
echo " "
done
答案1
问题出在你的echo
线路上。您缺少左括号并且没有打印 的值$j
。尝试:
echo -n "($i,$j) "
你可能需要逃离括号,我不确定。
答案2
该$j
变量未使用:
for (( i=1; i<5; i++ )); do
for (( j=1; j<=5; j++)); do
echo -n "($i,$j) "
done
echo
done