为什么这些行不行?有可能让它们发挥作用吗?你能给我解释一下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/查看一些示例。