2015-09-11 9 views
1

Я бег кукольного манифеста со следующим Exec:Кукольные заменяет «=» с пробельной

exec {"mvn-project" : 
    command => "maven.bat C:\\src\\project -Dmaven.test.skip=true", 
} 

символ «=» знак заменяется пробелом, в результате пакетного файла, который называется так:

maven.bat C:\\src\\project -Dmaven.test.skip true 

Я пробовал кодирование как unicode, но это, похоже, не помогает.

Любые объяснения для этого?

Я бег Кукольного 3.8.1

+0

литералов строки должны иметь одиночные кавычки, так что марионетка не пытается разобрать его для переменных. https://docs.puppetlabs.com/puppet/latest/reference/lang_data_string.html#single-quoted-strings – mgor

+0

Чтобы поместить вину туда, где она принадлежит, это устаревшее поведение DOS, а не специфическая проблема Puppet. См. Https://support.microsoft.com/en-us/kb/35938 – MaxVT

ответ

2

Apparantly помогает окружающим в двойных кавычках. Так, команда будет разобран правильно, он должен быть написан как:

exec {"mvn-project" : 
    command => "maven.bat C:\\src\\project \"-Dmaven.test.skip=true\"", 
} 

Помните, что в вашем .bat скрипт, вы должны удалить кавычки с помощью% ~ 3

Смежные вопросы