ฉันใช้คำตอบจากที่นี่และวางไว้ในฟังก์ชั่นคุณสามารถใช้มันเช่นนี้:
is_first_floating_number_bigger 1.5 1.2
result="${__FUNCTION_RETURN}"
เมื่อเรียกว่าecho $result
จะเป็น1
ในกรณีนี้มิฉะนั้น0
ในกรณีนี้มิฉะนั้น
ฟังก์ชั่น:
is_first_floating_number_bigger () {
number1="$1"
number2="$2"
[ ${number1%.*} -eq ${number2%.*} ] && [ ${number1#*.} \> ${number2#*.} ] || [ ${number1%.*} -gt ${number2%.*} ];
result=$?
if [ "$result" -eq 0 ]; then result=1; else result=0; fi
__FUNCTION_RETURN="${result}"
}
หรือเวอร์ชันที่มีเอาต์พุตดีบัก:
is_first_floating_number_bigger () {
number1="$1"
number2="$2"
echo "... is_first_floating_number_bigger: comparing ${number1} with ${number2} (to check if the first one is bigger)"
[ ${number1%.*} -eq ${number2%.*} ] && [ ${number1#*.} \> ${number2#*.} ] || [ ${number1%.*} -gt ${number2%.*} ];
result=$?
if [ "$result" -eq 0 ]; then result=1; else result=0; fi
echo "... is_first_floating_number_bigger: result is: ${result}"
if [ "$result" -eq 0 ]; then
echo "... is_first_floating_number_bigger: ${number1} is not bigger than ${number2}"
else
echo "... is_first_floating_number_bigger: ${number1} is bigger than ${number2}"
fi
__FUNCTION_RETURN="${result}"
}
เพียงบันทึกฟังก์ชั่นใน.sh
ไฟล์แยกและรวมไว้เช่นนี้
. /path/to/the/new-file.sh