❶ linux下shell脚本中怎么比较两个数字
[ 1 -gt 0 ]
测试1是否大于0,-gt表示大于,-lt测试小于,-eq比较两个数字是否相等
❷ linux shell 怎样比较两个数组的内容,并且把不同的部分输出
unset 不能这么用,需要指定数组索引,也就是数组下标,而不是数组的值,你可以这样干:
#check if there are any files added
folder_list=(1 2 3 4 5)
file_list=(1 2)
declare -a result_list
t=0
flag=0
echo folder_list=${folder_list[*]}
echo file_list=${file_list[*]}
for m in "${folder_list[@]}"
do
for l in "${file_list[@]}"
do
if [ "$m" == "$l" ]; then
flag=1
break
fi
done
if [ $flag -eq 0 ]; then
result_list[t]=$m
t=$((t+1))
else
flag=0
fi
done
echo result_list=${result_list[*]}
弄个结果数组保存结果,把在file_list里找不到的folder_list值存到结果数组中。
❸ linux 使用if 让两个百分数比大小
去掉百分号,比较数值:
num1=20.1%
num2=22.3%
diffnum=$(echo "${num1%%%}-${num2%%%}"|bc)
echo $diffnum
if ...
❹ linux 怎么把数字比较大小
Shell代码 #!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin ram_max=9 ram=10.2 #ram大于ram_max打印出1赋值给变量check check=`echo $ram > $ram_max bc` #判断如果check匹配1打印1,注意空格(shell格式不正确会导致运行错误) if [ $check = 1 ] then echo 1 fi