Đồng ý với ghostdog74. Tôi đã từng sử dụng hàm built-in $ (()), nhưng tôi đã thay đổi thành bc vì định dạng mà chúng tôi nhận được dữ liệu không phải là "định dạng số". Kiểm tra bên dưới:
[email protected]:/tmp> echo $((017 + 2))
17
[email protected]:/tmp> echo $((17 + 2))
19
[email protected]:/tmp>
Có vẻ như trong trường hợp 1 nó hiểu là số nhị phân hoặc số hex .. không chắc lắm.
Vì vậy, tôi đã thay đổi thành bc. Bạn có thể chọn cách Mà bạn thích:
bc << EOF
$num1 + $num2 + $num3
EOF
hoặc
bc <<< "$num1 + $num2 + $num3"
Có nguội đi những cách khác để làm điều này ... nhưng nó sẽ là tốt nếu bạn gửi thêm chi tiết, như thế nào nếu bạn cũng thực hiện phân chia, bạn sẽ cần phải thêm đối số bc -l
, để tải lib toán học.