Я сделал, чтобы должностное лицо управляло для изменения имени хоста. Я только хочу выполнить это, если имя хоста не, каково это должно быть:
exec { 'update hostname':
command => 'sudo hostname VM01',
unless => '[[ "$(hostname)" == "VM01" ]]';
}
Теперь [[ "$(hostname)" == "VM01" ]]
команда, кажется, работает столь же ожидаемая, если я выполняю ее вручную, но Марионетка, кажется, игнорирует ее.
Я также попробовал:
test "$(hostname)" == "VM01"
test $(hostname) == "VM01"
[ <(hostname) == "VM01" ]
[ hostname == "VM01" ]
Может кто-то указывать на мою ошибку, я просто не получаю ее.
Dit sou goed gewees het as u ook die foutboodskap wat u gekry het, gepos het.
Hierdie kode werk vir my:
exec { 'update hostname':
command => 'hostname VM01',
path => '/usr/bin:/usr/sbin/:/bin:/sbin',
unless => '[ "$(hostname)" == "VM01" ]',
}
U moet 'n pad spesifiseer as u nie volledig gekwalifiseerde paaie gebruik in die opdragte wat u uitvoer nie.
Let ook op, aangesien u nie gespesifiseer het watter verspreiding u gebruik nie: u wil waarskynlik die gasheernaam op meer plekke verander, sodat dit reeds met die regte gasheernaam begin.
Maar ek dink dit is net 'n baie kort brokkie van u volledige manifes.