2014-12-04 162 views
0

我正在写一个非常基本的配方,将数据从一个文件夹复制到另一个文件夹。我写了下面的代码:厨师执行资源抛出错误

执行 “file_sharing” 做

命令 “复制 ”X:\ B2BPortal-0.0.1-SNAPSHOT.war“” C:\ Apache的Tomcat的6.0.32 \阿帕奇-tomcat-6.0.32 \ webapps“;/Y;”

当我去我的节点,并尝试执行该命令,它运行完全正常。但是如果我尝试通过厨师来运行这个配方,那就是抛出错误。附上错误的屏幕截图。请看看,并提出解决方案。![错误

command "copy "X:\B2BPortal-0.0.1-SNAPSHOT.wa... 
 
       ^
 
c:/chef/cache/cookbooks/file_sharing/recipes/default.rb:11: no .<digit> floating literal anymore; put 0 before dot 
 
...ommand "copy "X:\B2BPortal-0.0.1-SNAPSHOT.war" "C:\apache-to... 
 
...        ^
 
c:/chef/cache/cookbooks/file_sharing/recipes/default.rb:11: syntax error, unexpected tINTEGER 
 
...mmand "copy "X:\B2BPortal-0.0.1-SNAPSHOT.war" "C:\apache-tom... 
 
...        ^
 
c:/chef/cache/cookbooks/file_sharing/recipes/default.rb:11: syntax error, unexpected tSTRING_BEG, expecting keyword_end 
 
...:\B2BPortal-0.0.1-SNAPSHOT.war" "C:\apache-tomcat-6.0.32\apa... 
 
...        ^
 
c:/chef/cache/cookbooks/file_sharing/recipes/default.rb:11: syntax error, unexpected tCONSTANT, expecting keyword_end 
 
...2BPortal-0.0.1-SNAPSHOT.war" "C:\apache-tomcat-6.0.32\apache... 
 
...        ^
 
c:/chef/cache/cookbooks/file_sharing/recipes/default.rb:11: no .<digit> floating literal anymore; put 0 before dot 
 
...HOT.war" "C:\apache-tomcat-6.0.32\apache-tomcat-6.0.32\webap... 
 
...        ^
 
c:/chef/cache/cookbooks/file_sharing/recipes/default.rb:11: syntax error, unexpected tINTEGER 
 
...T.war" "C:\apache-tomcat-6.0.32\apache-tomcat-6.0.32\webapps... 
 
...        ^
 
c:/chef/cache/cookbooks/file_sharing/recipes/default.rb:11: no .<digit> floating literal anymore; put 0 before dot 
 
...omcat-6.0.32\apache-tomcat-6.0.32\webapps"; /Y;" 
 
...        ^
 
c:/chef/cache/cookbooks/file_sharing/recipes/default.rb:11: syntax error, unexpected tINTEGER 
 
...cat-6.0.32\apache-tomcat-6.0.32\webapps"; /Y;"

] 1

回答

1

在Ruby中,\(反斜杠)用于类\n\t字符串转义序列。您可以使用\\或单引号',因为那些不处理反斜杠转义。

0

您必须将双引号和命令字符串中的反斜杠转义出来,或者将其用单引号括起来。既然你没有做任何可变插值,我会建议后者。

试试这个:

execute "file_sharing" do 
    command 'copy "X:\B2BPortal-0.0.1-SNAPSHOT.war" "C:\apache-tomcat-6.0.32\apache-tomcat-6.0.32\webapps" /Y;' 
end 
相关问题