#!/bin/bash
h=0
l=0
while read user_input;
do
[ "$user_input" -eq 1 ] && ((h++))
[ "$user_input" -eq 2 ] && ((l--))
echo " $(($((h+l))/6))"
done
我需要除以六的部分在读取 52 个用户输入后减少到 5,在读取 52 个用户输入后减少到 4,等等。如何?
答案1
#!/bin/bash
h=0
l=0
reads=0
divider=6
while read user_input;
do
((reads++))
[ "$user_input" -eq 1 ] && ((h++))
[ "$user_input" -eq 2 ] && ((l--))
if [ "$((reads%52))" -eq 0 -a "$divider" -gt 1 ]; then
((divider--))
fi
echo " $(($((h+l))/divider))"
done