如何比较值从一个数组在shell脚本?



为什么这些行不行?有可能让它们发挥作用吗?你能给我解释一下shell是如何从数组中读取值的吗?它是文本还是整数?如果这是一个愚蠢的问题,请不要笑我刚刚开始学习:)。

if  [ ${a[1]} -gt ${a[2]} ] ;
for (( b=0; b > ${a[2]}; b++));
#!/bin/bash
read a arr

if [ ${a[0]} -ne 1 ] && [ ${a[0]} -ne 2 ] && [ ${a[0]} -ne 3 ];
then
echo "Ne poznam vrednosti prvega parametra"
echo "Konec skripte"
else  
if [ ${a[0]} -eq 1 ];
then
echo "Prvi parameter ima vrednost ${a[0]}"
if  [ ${a[1]} -gt ${a[2]} ] ; 
then
echo "Drugi parameter je vecji ali enak tretjemu parametru."
else
echo "Drugi parameter ni vecji ali enak tretjemu parametru."
fi  
fi
if [ ${a[0]} -eq 2 ];
then
echo "Prvi parametar ima vrednost: 2"
for (( b=0; b > ${a[2]}; b++));
do 

echo "WORKS"

done              
fi    
fi

我认为第一个问题是[之后和]之前缺少空格。

在fire循环中,第二个表达式应该是loop-test或condition,如果为false,则不会执行循环。也许应该是b <= ${a[2]}

参见https://www.cyberciti.biz/faq/bash-for-loop/查看一些示例。

相关内容

  • 没有找到相关文章

最新更新