Một cách khác là sử dụng /etc/os-release
tập tin thay thế. Điều này được định dạng như một danh sách các biến shell:
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.2 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.2 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
Vì vậy, một cách dễ dàng để phân tích cú pháp là chỉ đơn giản source
là tệp:
$ . /etc/os-release
$ echo $NAME
Ubuntu
$ echo $VERSION
18.04.2 LTS (Bionic Beaver)
$ echo $PRETTY_NAME
Ubuntu 18.04.2 LTS
$ echo $VERSION_ID
18.04
Để tránh cài đặt tất cả các biến này không cần thiết, bạn có thể tìm nguồn các tập tin trong một subshell , echo biến bạn cần và thoát khỏi subshell:
$ ( . /etc/os-release ; echo $VERSION_ID)
18.04
Ngoài ra, bạn luôn có thể phân tích cú pháp tệp trực tiếp:
$ grep -oP 'VERSION_ID="\K[\d.]+' /etc/os-release
18.04