2017-07-31 36 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标准的外壳。 –