我正在尝试创建一个 shell 脚本,以一系列平均值作为参数,并为每个注释分配一个观察结果,例如:
引入了 5 个平均值。
有 2 个注释是:相当好。
有 3 个注释:嗯
......
for i in $@
if [[ $# -ge 16 ]];
then
let j++
echo " there are ${#j} notes that are : pretty good "
elif [[ $# -ge 14 ]];
let k++
echo " there are ${#k} notes that are : good "
答案1
先清点你的东西,然后单独报告结果:
#!/bin/bash
for a do
if (( a >= 10 && a < 12 )); then
pass=$(( pass + 1 ))
elif (( etc. for the other conditions ))
fi
done
printf '%d passed (%d%%)\n' "$pass" "$(( (100*pass)/$# ))"
无需测试,$#
因为如果没有传递参数,循环(如果按上述方式编写)将根本不会执行。