Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.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
需要整数表达式:Bash_Bash_Shell - Fatal编程技术网

需要整数表达式:Bash

需要整数表达式:Bash,bash,shell,Bash,Shell,我在stack overflow上读到,我们需要在这里加上引号,但没有帮助 array_length=${fileNames[@]} COUNTER=0 while [ "$COUNTER" -lt "$array_length" ]; do 我仍然得到错误。请帮忙。全新的bash array_length=${fileNames[@]} 应该是 array_length=${#fileNames[@]} 对于预期的行为,while循环应该是: while [ "$COUNTER" -

我在stack overflow上读到,我们需要在这里加上引号,但没有帮助

array_length=${fileNames[@]}

COUNTER=0

while [ "$COUNTER" -lt "$array_length" ]; do
我仍然得到错误。请帮忙。全新的bash

array_length=${fileNames[@]}
应该是

array_length=${#fileNames[@]}
对于预期的行为,while循环应该是:

while [ "$COUNTER" -lt "$array_length" ]
do
.
#do something
.
((COUNTER++)) # Equivalent to COUNTER=COUNTER+1
done
${fileNames[@]}
扩展到整个数组,并在其前面加上
#
以显示元素数


旁注

一,。不要忘记在while循环中递增
计数器

2.尽量避免使用大写变量,如
计数器
,因为它们通常是为系统保留的

应该是

array_length=${#fileNames[@]}
对于预期的行为,while循环应该是:

while [ "$COUNTER" -lt "$array_length" ]
do
.
#do something
.
((COUNTER++)) # Equivalent to COUNTER=COUNTER+1
done
${fileNames[@]}
扩展到整个数组,并在其前面加上
#
以显示元素数


旁注

一,。不要忘记在while循环中递增
计数器


2.尽量避免使用大写变量,如
计数器
,因为它们通常是为系统保留的

你提到的前一个问题应该是一个链接(你可以编辑问题并修复它,在帮助中解释)来帮助上下文。但是,只要看一下您展示的短篇文章,我就看到您将一个名为
array\u length
的变量设置为一个文件名列表,然后尝试将其用作数字。除非
fileNames
只有一个元素(在这种情况下,您将不会使用
[0]
),而且它恰好是一个数字,否则调用test可能无法工作。很抱歉,我将再次尝试查找它。没有帮助我,所以我关闭了它。请看,您提到的前一个问题应该是一个链接(您可以编辑该问题并进行修复,请在帮助中解释),以帮助了解上下文。但是,只要看一下您展示的短篇文章,我就看到您将一个名为
array\u length
的变量设置为一个文件名列表,然后尝试将其用作数字。除非
fileNames
只有一个元素(在这种情况下,您将不会使用
[0]
),而且它恰好是一个数字,否则调用test可能无法工作。很抱歉,我将再次尝试查找它。没有帮我,所以我把它关了。谢谢,我5分钟后就接受。你能告诉我这有什么问题吗?“$COUNTER+1”-lt“$array_length”这一个仍然给出一个错误,如果有任何主要概念,我将打开一个新问题。@BhavyaArora:
计数器+1
不会递增
计数器
。我不想在这里递增,只想将它与下一个数字进行比较。如何删除错误。还有什么会增加计数器?让counter=counter+1?@BhavyaArora:不确定您到底想要什么,请参见编辑。@mklement0:谢谢,一如既往,非常感谢:)谢谢,我会在5分钟内接受。你能告诉我这有什么问题吗?“$COUNTER+1”-lt“$array_length”这一个仍然给出一个错误,如果有任何主要概念,我将打开一个新问题。@BhavyaArora:
计数器+1
不会递增
计数器
。我不想在这里递增,只想将它与下一个数字进行比较。如何删除错误。还有什么会增加计数器?让counter=counter+1?@BhavyaArora:不确定您到底想要什么,请参见编辑。@mklement0:谢谢您,一如既往,非常感谢:)