2014-12-04 3 views
0

한 폴더에서 다른 폴더로 데이터를 복사하는 매우 기본적인 방법을 쓰고 있습니다. C \ B2BPortal-0.0.1-SNAPSHOT.war "": \ 아파치 - 톰캣-6.0.32 \ 아파치요리사 던지기 오류 실행 리소스

명령 "복사"X을 "file_sharing"실행

: 나는 다음과 같은 코드를 작성 -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

, \ (백 슬래시) \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