Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 为什么for循环数组不能在bash语言中工作?_Linux_Bash_Shell_Unix_Script - Fatal编程技术网

Linux 为什么for循环数组不能在bash语言中工作?

Linux 为什么for循环数组不能在bash语言中工作?,linux,bash,shell,unix,script,Linux,Bash,Shell,Unix,Script,我需要运行这段代码,但代码不接受for循环,似乎数组中的问题不等于0在shell脚本中不起作用 for((i=0; i<=nf && ff[i]!=0; i++)) do echo " $i ${f[i]} ${ff[i]} ${b[ff[i]]} ${frag[i]}" done for((i=0;ifor循环似乎工作正常: nf=3 ff=(1 2 3) b=("a" "b"

我需要运行这段代码,但代码不接受for循环,似乎数组中的问题不等于0在shell脚本中不起作用

for((i=0; i<=nf && ff[i]!=0; i++))
do
   echo "    $i    ${f[i]}    ${ff[i]}    ${b[ff[i]]}   ${frag[i]}"
done

for((i=0;ifor循环似乎工作正常:

nf=3
ff=(1 2 3)
b=("a" "b" "c" "d")
frag=("?" "!" "%")

for((i=0; i<=nf && ff[i]!=0; i++))
do
  echo "    $i    ${f[i]}    ${ff[i]}    ${b[ff[i]]}   ${frag[i]}"
done
#>    0        1    b   ?
#>    1        2    c   !
#>    2        3    d   %
nf=3
ff=(1 2 3)
b=(“a”“b”“c”“d”)
frag=(“?”!“%”)
对于((i=0;i 0 1 b?
#>12C!
#>2.3 d%

您遇到了什么问题?您得到了什么输出?您确定您的数组/变量设置正确吗?您确定您使用的是bash(即不是sh)?

当我运行此循环时,没有显示输出,但如果循环中没有数组条件,则其显示的输出没有精确的结果。是否有其他方法将此数组条件写入此循环中?Hi@hibluner-您接受了此答案-您找到问题了吗?请发布一个可复制的示例。您的代码遗漏了首字母i为了安全起见,也可以发布bash的版本(在进入循环之前执行
echo$bash\u version
)。