2017-07-31 34 views
0

我想呼應下面的事情

echo "c:\tmp\$(TestCaseID)\$(repoZipExtractedName)\windows_downloader.bat - 
    configFile c:\tmp\$(TestCaseID)/$(OfflineDownloader_FileName)" > //$(repoServer)/c/tmp/$(TestCas eID)/execute.bat 

我得到了下面放
C:MP \ DRBLG-55573 \所有-OS-補丁 - 下載 - 窗口 - 建設 - 01年9月8日\ windows_downloader.bat -configFile C:MP \ DRBLG-55573 /樣品 - Windows的下載-config.xml中

,它正在考慮在\ tmp目錄「\ t」的作爲被認爲是標籤任何一個可以幫助我如何應對有了這個。

我使用殼牌。在Windows上使用Cygwin運行命令

+0

哪個shell語言,到底是什麼?我們對PowerShell,cmd.exe等有不同的標籤('shell'通常用於POSIX sh,這是UNIX上的一個標準;顯然不是這樣)。 –

+0

我正在使用Shell。在Windows上使用Cygwin運行命令 – Dhiru

回答

0

獲得相同的解決方案。加入-E工作對我來說

echo -E '\tmp\\$(TestCaseID)\\$(repoZipExtractedName)\\windows_downloader.bat' -configFile '$(fileDir)\\$(TestCaseID)\\$(OfflineDownloader_FileName)' > //$(repoServer)/c/tmp/$(TestCaseID)/execute.bat 

回聲相關描述查詢參考以下鏈接

https://unix.stackexchange.com/questions/65803/why-is-printf-better-than-echo

+0

'$()'在這裏沒有意義 - 您正在運行名爲TestCaseID的命令**?或者這是真正的makefile語法,而不是shell語法? (在一個POSIX風格的shell中,它將是'$ {TestCaseID}'用這個名稱替換一個變量,而不是'$(TestCaseID)',它運行一個命令並替代它的輸出)。 –

+0

謝謝查爾斯投資你的時間。 TestCaseID是一個變量,我已經初始化在前面的步驟中,我沒有把它帶入這個上下文中。我正在爲我們的內部工具編寫這段代碼,它與大多數shell一起工作(有一些例外)但它以任何方式工作謝謝 – Dhiru

+0

'$( TestCaseID)絕對不會在任何符合標準的POSIX shell中擴展變量TestCaseID。如果它是爲你做的,你的環境顯然不是符合POSIX標準的外殼。 –