부동 소수점 변수를 정수와 비교하려고합니다. 이것이 bash와는 최선의 방법이 아니라는 것을 알고 있지만, 내 모든 스크립트는 이미 bash로 작성되었습니다. $ number는 정수가 될 수 있습니다. 50 이하이면, output1을, 다른 모든 변수에 대해서는 다른 변수 k와 함께 출력하고 싶습니다. 이것은 내가 지금까지 가지고있는 것입니다 :bash에서 변수와의 부동 소수점 비교
number=43
test=$(echo "scale=2; $number/50" | bc -l)
echo "$test"
for k in {1..5}
do
if ["$test" -le 1]
then echo "output"
elif ["$test" -gt $k]
then echo "output$k"
fi
done
테스트를 시도하면 0.43, 첫 번째 루프도 작동하지 않습니다. 나는 그것이 정수와 부동 소수점 비교와 관련이 있다고 생각하지만 작동하게 만들 수는 없다.
내가 누락 된 부분이 있습니까?
추 신 :이 [0.43: command not found
은 터미널이 출력합니다.
당신은 또한 단지 KSH로 전환하고 조판 자동 라운드 사용할 수 있습니다. (1993 년부터 유효하다. 잘 작동한다.) –