不使用外部工具:
您可以只使用source(源命令是点.
),/etc/os-release
就可以访问在那里定义的所有变量:
$ . /etc/os-release
$ echo "$VERSION"
14.04, Trusty Tahr
编辑。如果要删除14.04,
零件(按terdon的要求),则可以:
$ . /etc/os-release
$ read _ UBUNTU_VERSION_NAME <<< "$VERSION"
$ echo "$UBUNTU_VERSION_NAME"
Trusty Tahr
请注意,这有点笨拙,因为在其他发行版中,VERSION
字段可以具有不同的格式。例如,在我的debian上,
$ . /etc/os-release
$ read _ UBUNTU_VERSION_NAME <<< "$VERSION"
$ echo "$UBUNTU_VERSION_NAME"
(wheezy)
然后,您可以想象这样的事情(在脚本中):
#!/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
。也许您应该指定“我如何获得已安装的Ubuntu系统的完整代码名(可信任的密码)”的含义?。您是否只想在终端上回显它,还是需要将其分配给变量?这将在某些非{Ubuntu,Debian}系统上使用吗?