我正在Windows工作站上使用Wpkg部署一个软件产品。 我需要禁用产品的错误自动更新,在这种情况下,最好的解决scheme是使用以下正则expression式修改一个configuration文件: s/<value>.*<\/value>/<value>file:\\\\<\/value>/g
为了执行所描述的任务,我使用SED:
%BASH%\sed "s/<value>.*<\/value>/<value>file:\\\\<\/value>/g" "MyApp.config" > "MyApp.config.tmp"`
每当我从命令行执行它,它的工作。
但是,一旦我把它粘贴到Wpkg( <>由于XML约束而转义):
<install cmd='%BASH%\sed "s/<value>.*<\/value>/<value>file:\\\\<\/value>/g" "%PKG_DESTINATION%\MyApp.config" > "%PKG_DESTINATION%\MyApp.config.tmp"' />
…失败,创build没有新的文件和…返回神秘的错误代码2:
Exit code returned non-successful value (2) on command '%BASH%\sed "s/<value>.*< \/value>/<value>file:\\\\<\/value>/g" "%PKG_DESTINATION%\MyApp.config" > "%PKG_D ESTINATION%\MyApp.config.tmp"'.
在search那个神秘的错误代码2一小时半之后,我开始相信我和谷歌的关系有什么问题,或者确实没有关于这个错误的文档。 官方手册也让我失明。
我已经尝试将该Wpkg命令的stderr转储到文本文件,但该文件没有被创build,这表明没有stderr转储。
也许第二或第三双眼睛会帮助我find问题的根源?