Java Bash中循环的依赖嵌套
我试图在bash中实现一个嵌套for循环,其中内部循环在其范围内使用外部循环的当前值,但我得到了以下错误“/drawgraph.sh:第19行:{0..1}:语法错误:应为操作数(错误标记为“{0..1}”)” 这是我的密码:Java Bash中循环的依赖嵌套,java,bash,shell,Java,Bash,Shell,我试图在bash中实现一个嵌套for循环,其中内部循环在其范围内使用外部循环的当前值,但我得到了以下错误“/drawgraph.sh:第19行:{0..1}:语法错误:应为操作数(错误标记为“{0..1}”)” 这是我的密码: for i in {0..499} do for j in {0..$i} do # other code done done 这里有一个java类比来说明我要做的事情: for (int i = 0; i < 499; i++) { fo
for i in {0..499}
do
for j in {0..$i}
do
# other code
done
done
这里有一个java类比来说明我要做的事情:
for (int i = 0; i < 499; i++) {
for (int j = 0; j < i; j++) {
// some code
}
}
for(int i=0;i<499;i++){
对于(int j=0;j
您可以使用((i=0;i恐怕您当前的方法不起作用
是否有任何东西阻止您使用正常的C样式循环
for ((i = 0; i < 499; i++));
do
for ((j = 0; j < i; j++));
do
# use $i and $j as you like
done
done
((i=0;i<499;i++)的for;
做
对于((j=0;j
在这里添加一些证据,因为这不是问题。正如答案所述,“大括号展开发生在变量展开之前”。大括号展开发生在参数展开之前,{0..$i}
不是有效的大括号表达式。
#!/bin/bash
for i in {0..499}
do
for j in $(seq 0 $i)
do
echo "$i $j"
done
done
for ((i = 0; i < 499; i++));
do
for ((j = 0; j < i; j++));
do
# use $i and $j as you like
done
done