Giả sử tôi muốn so sánh gccphiên bản để xem hệ thống có cài đặt phiên bản tối thiểu hay không.
Để kiểm tra gccphiên bản, tôi đã thực hiện như sau
gcc --version | head -n1 | cut -d" " -f4
Đầu ra là
4.8.5
Vì vậy, tôi đã viết một iftuyên bố đơn giản để kiểm tra phiên bản này với một số giá trị khác
if [ "$(gcc --version | head -n1 | cut -d" " -f4)" -lt 5.0.0 ]; then
echo "Less than 5.0.0"
else
echo "Greater than 5.0.0"
fi
Nhưng nó ném một lỗi:
[: integer expression expected: 4.8.5
Tôi hiểu sai lầm của mình rằng tôi đã sử dụng các chuỗi để so sánh và -ltyêu cầu số nguyên. Vì vậy, có cách nào khác để so sánh các phiên bản?
gcc -dumpversion