Марионеточный исполнительный тип, кажется, игнорирует если атрибут

Я сделал, чтобы должностное лицо управляло для изменения имени хоста. Я только хочу выполнить это, если имя хоста не, каково это должно быть:

exec { 'update hostname':
  command => 'sudo hostname VM01',
  unless  => '[[ "$(hostname)" == "VM01" ]]';
}

Теперь [[ "$(hostname)" == "VM01" ]] команда, кажется, работает столь же ожидаемая, если я выполняю ее вручную, но Марионетка, кажется, игнорирует ее.

Я также попробовал:

test "$(hostname)" == "VM01"
test $(hostname) == "VM01"
[ <(hostname) == "VM01" ]
[ hostname == "VM01" ]

Может кто-то указывать на мою ошибку, я просто не получаю ее.

0
задан 15 February 2015 в 14:39
1 ответ

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.

0
ответ дан 5 December 2019 в 12:59

Теги

Похожие вопросы