bash脚本if语句,比较十进制

bash脚本if语句,比较十进制,bash,shell,Bash,Shell,对于bash脚本来说是个新手,并且在下面的代码中遇到了问题。 我试图将数组数与您从“read ans”输入的数进行比较。问题主要是比较十进制数 BGpercent=(0 99 99.3 99.6 99.8 100) BGpoint=(0 1 2 3 4 5) read ans for (( c=${#BGpercent[@]}; c>=0; c-- )) do echo "${BGpercent[$c]}" if

对于bash脚本来说是个新手,并且在下面的代码中遇到了问题。 我试图将数组数与您从“read ans”输入的数进行比较。问题主要是比较十进制数

    BGpercent=(0 99 99.3 99.6 99.8 100)
    BGpoint=(0 1 2 3 4 5) 
    read ans
    for (( c=${#BGpercent[@]}; c>=0; c-- ))
    do  
       echo "${BGpercent[$c]}"
        if [ "${BGpercent[$c]}" <= "$ans"  ];  
        then
        result=${BGpoint[$c]}
        break
        fi
    done
    echo $result | bc -lstrong text
bg百分比=(0 99 99.3 99.6 99.8 100)
BGpoint=(01 2 3 4 5)
读ans
对于((c=${BGpercent[@]};c>=0;c--)
做
回显“${BGpercent[$c]}”

如果[“${BGpercent[$c]}”我猜问题出在
if
检查(浮点比较)中

!/bin/bash
BG百分比=(0 99.3 99.6 99.8 100)
BGpoint=(01 2 3 4 5)
读ans
对于((c=$[${bg百分比[@]}-1];c>=0;c--))
做
如果($(echo“${BGpercent[$c]}BGpercent=(0999.399.699.8100)
BGpoint=(01 2 3 4 5)

echo“填写您的号码:” 读取编号

对于((c=${bg百分比[@]}-1;c>-1;c--)) 做 回显${BGpercent[$c]}
bool=
echo“如果(${BGpercent[$c]}chmod 750 testscript.sh然后尝试启动它。另外,添加一个shebang。不起作用,仍然有相同的错误消息的这部分
=:
很奇怪。嗨,谢谢你的回复!现在我收到了这个错误。第1行的语法错误,teletype。你是否也更改了for循环中的c变量初始化?查看此链接:@a.M.D,是吗你改变这个吗?
c=$[${{bg%[@]}-1
@Thirupathi Thangavel:是的,我改变了
#!/bin/bash

    BGpercent=(0 99 99.3 99.6 99.8 100)
    BGpoint=(0 1 2 3 4 5)
    read ans
    for (( c=$[ ${#BGpercent[@]} - 1 ] ; c>=0; c-- ))
    do
        if (( $(echo "${BGpercent[$c]} <= $ans" |bc -l) ));
        then
        result=${BGpoint[$c]}
        break
        fi
    done