Không sử dụng các công cụ bên ngoài:
Bạn chỉ có thể nguồn (lệnh nguồn là một dấu chấm .
) /etc/os-release
và bạn sẽ có quyền truy cập vào tất cả các biến được xác định ở đó:
$ . /etc/os-release
$ echo "$VERSION"
14.04, Trusty Tahr
Chỉnh sửa. Nếu bạn muốn xóa 14.04,
phần (theo yêu cầu của terdon), bạn có thể:
$ . /etc/os-release
$ read _ UBUNTU_VERSION_NAME <<< "$VERSION"
$ echo "$UBUNTU_VERSION_NAME"
Trusty Tahr
Lưu ý rằng điều này hơi khó hiểu, vì trên các bản phân phối khác, VERSION
trường có thể có định dạng khác nhau. Ví dụ, trên debian của tôi,
$ . /etc/os-release
$ read _ UBUNTU_VERSION_NAME <<< "$VERSION"
$ echo "$UBUNTU_VERSION_NAME"
(wheezy)
Sau đó, bạn có thể tưởng tượng một cái gì đó như thế này (trong một kịch bản):
#!/bin/bash
if [[ -r /etc/os-release ]]; then
. /etc/os-release
if [[ $ID = ubuntu ]]; then
read _ UBUNTU_VERSION_NAME <<< "$VERSION"
echo "Running Ubuntu $UBUNTU_VERSION_NAME"
else
echo "Not running an Ubuntu distribution. ID=$ID, VERSION=$VERSION"
fi
else
echo "Not running a distribution with /etc/os-release available"
fi
/etc/os-release
. Có lẽ bạn nên chỉ định ý của bạn bằng cách làm thế nào để tôi có được tên mã đầy đủ (đáng tin cậy) của hệ thống Ubuntu đã cài đặt của tôi? . Bạn chỉ muốn lặp lại nó trên thiết bị đầu cuối, hoặc bạn cần nó được gán cho một biến? Đây có phải sẽ được sử dụng trên một số hệ thống không phải là Ubuntu, Debian} không?