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