我想从etc / lsb-releases中删除Ubuntu版本到变量。 我设法削减了这一行DISTRIB_RELEASE = 16.04,但想只有16.04而不是整行
# Get ubuntu version
file="/home/test/Desktop/lsb-release"
ubuntu_v=$(cat "$file" | grep DISTRIB_RELEASE)
echo $ubuntu_v
我使用上面的代码来剪切行DISTRIB_RELEASE = 16.04,如何只将16.04部分保存到变量?
答案 0 :(得分:1)
您可以直接在grep
文件上使用lsb-release
。您可以使用cut
拆分输出。像,
$ grep DISTRIB_RELEASE /etc/lsb-release | cut -f2 -d'='
并且,为了匹配你的例子
file=/etc/lsb-release
ubuntu_v=$(grep DISTRIB_RELEASE "$file" | cut -f2 -d'=')
或者,使用source
并直接访问DISTRIB_RELEASE
环境
source /etc/lsb-release
echo $DISTRIB_RELEASE
然后你得到所有发布变量,也可以
echo $DISTRIB_ID
echo $DISTRIB_CODENAME
echo $DISTRIB_DESCRIPTION
答案 1 :(得分:0)
你可以获得这些信息:
var=`awk -F '=' '{if($1 == "DISTRIB_RELEASE") print $2}' /etc/lsb-release`