在木偶课中,如何测试变量是否已设定?现在我只是检查变量是否未定义:
if $http_port != undef {
$run_command = "$run_command --http-port $http_port"
}
有没有更好的方法来检查变量是否已被声明?
答案 0 :(得分:5)
如果您正在测试变量是否为undef,那么您的方法是正确的。写
XAUTHORITY=/home/pi/.Xauthority
会完成几乎相同的事情。如果$ http_port为undef或false,则不会运行该命令。
如果你想测试var是否已定义,你应该这样做:
{
"d": {
"__count": "4",
"results": [
{
"ID": "1234",
"FID": "00145E9279201EE799E3027FBE864F24",
"FName" : "Header"
"Sequence": 0,
"Values": {
"results": [
{
"ID": "321",
"Value": "FChild",
},
{
"ID": "321",
"Value": "FChild",
}
]}
}]
}
}
请参阅https://docs.puppet.com/puppet/4.10/function.html#defined。
如果var是一个类变量,你可以这样做:
if $http_port {
$run_command = "$run_command --http-port $http_port"
}
如果声明该类的http_port设置为0到65535之间的整数,它将只运行notify。