![if 문 중에 쉘 스크립트가 충돌합니까? [폐쇄]](https://linux55.com/image/126838/if%20%EB%AC%B8%20%EC%A4%91%EC%97%90%20%EC%89%98%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EA%B0%80%20%EC%B6%A9%EB%8F%8C%ED%95%A9%EB%8B%88%EA%B9%8C%3F%20%5B%ED%8F%90%EC%87%84%5D.png)
for hi in `seq 0 100`
do
new_val=1
if `expr $hi % 5` -eq 5
then
echo hello
elif `expr $hi % 5` -eq 6
then
echo bye
elif `expr $hi % 5` -eq 7
then
echo whats up
fi
echo $new_val
done
왜 충돌합니까? 목표는 순환 번호 모듈로 5가 5, 6 또는 7과 같은지 확인하는 것입니다.
답변1
수정된 스크립트는 다음과 유사해야 합니다.
#!/bin/sh
for hi in $(seq 0 100)
do
if [ "$(expr $hi % 5)" -eq 5 ]
then
echo hello
elif [ "$(expr $hi % 5)" -eq 6 ]
then
echo bye
elif [ "$(expr $hi % 5)" -eq 7 ]
then
echo whats up
fi
echo "$hi"
done
그러나 모듈로 5 연산의 나머지는 결코 5, 6 또는 7이 아니기 때문에 루프는 if를 입력하지 않습니다.