![while 루프가 52번 반복될 때마다 변수를 감소시키는 방법은 무엇입니까?](https://linux55.com/image/128796/while%20%EB%A3%A8%ED%94%84%EA%B0%80%2052%EB%B2%88%20%EB%B0%98%EB%B3%B5%EB%90%A0%20%EB%95%8C%EB%A7%88%EB%8B%A4%20%EB%B3%80%EC%88%98%EB%A5%BC%20%EA%B0%90%EC%86%8C%EC%8B%9C%ED%82%A4%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
#!/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
6으로 나누어야 하는 부분은 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