我需要检查它的Ubuntu版本16(适用于旧版本)或17(适用于具有不同WLAN模块的新版本),但此IF检查到目前为止无效。你能支持吗?
if /opt/puppetlabs/bin/facter os.distro.id == 'Ubuntu' {
if /opt/puppetlabs/bin/facter os.distro..release.major == '16.04.' {
$ubunutname = 'xenial'
$wlankarte = 'wlp4s0'
}
if /opt/puppetlabs/bin/facter os.distro..release.major == '17.04' {
$ubunutname = 'zesty'
$wlankarte = 'wlp58s0'
}
else{
fail("Unsupported major of ${facts}['operatingsystem']")
}
}
答案 0 :(得分:2)
您已经关闭,但您不必指定Facter的路径,事实会自动添加到上下文中。 LSB代号也是一个事实,所以你可以简化这个:
case $::lsbdistcodename {
'xenial': {
$wlankarte = 'wlp4s0'
}
'zesty': {
$wlankarte = 'wlp58s0'
}
default: {
fail("Unsupported Debian-flavor machine: ${::lsbdistcodename}")
}
}