2015-02-09 36 views
0

因此,我有這個Jenkins構建,我將最終構建傳輸到部署服務器。我有一個複製命令,我在Jenkins的部署服務器中執行。然而,詹金斯似乎正在給cp添加一些未編碼的字符,因此它失敗了。這裏是我在詹金斯殼直接給出的命令:Jenkins將特殊字符添加到shell命令

cp $BUILD_NUMBER/*.war /opt/apache-tomcat-8.0.15/webapps 

和這裏詹金斯的控制檯輸出與未編碼的字符:

SSH: EXEC: STDOUT/STDERR from command [cp 33/*.war /opt/apache-tomcat-8.0.15/webapps/ 
bash /opt/apache-tomcat-8.0.15/bin/catalina.sh start] ... 
SSH: EXEC: connected 
cp: cannot stat ���33/*.war���: No such file or directory 
Tomcat started. 

忽略Tomcat的開始步驟。任何幫助,將不勝感激。

+0

你可以得到那個輸出發送到一個文本文件或者通過管道連接到'xxd' /'hexdump'來查看這些字符實際上是什麼嗎? – 2015-02-09 12:23:10

回答

-1

更可能是您在該腳本的該行中保存了一些特殊(非打印或非標準空白)字符。嘗試hexdumping您的腳本,並檢查$BUILD_NUMBER/*.war是否真的是兩側只是空格字符。只需運行hexdump < script.sh或運行hexdump並粘貼腳本,然後按Ctrl - d完成輸入。

+1

你能告訴我如何爲shell腳本做一個hexdump嗎? – n3o 2015-02-09 15:34:24

+0

什麼是-1? – l0b0 2015-02-09 16:39:35