OS检测中的语法问题

时间:2017-11-15 15:02:12

标签: linux bash centos

我正在使用bash编写一个脚本来确定正在使用的操作系统并在屏幕上打印该版本。

唯一给我提出问题的是这一行,你能帮助我吗?:

4 个答案:

答案 0 :(得分:2)

另一种方法是使用

lsb_release -d 

获取分发名称,或

lsb_release -a

获取有关发行版的所有信息。

有关此linux standard base utility的更多信息。

答案 1 :(得分:1)

=符号的两边之间不能有空格,并且需要将右侧作为子命令执行(使用$()语法)。

current_os=$(cat /etc/*-release | grep CentOS)

使用像current_os = ...这样的空格时,bash会在您尝试运行名为current_os的命令时对其进行解释。

答案 2 :(得分:0)

source /etc/os-release
current_os=$PRETTY_NAME

或者如果你不想把所有内容都拉进去

current_os=$(source /etc/os-release && echo $PRETTY_NAME)

答案 3 :(得分:-1)

将命令放在反引号(``)中,语句将分配命令的输出。

current_os=`cat /etc/*-release | grep CentOS`