当我执行命令时:SCHTASKS /create /tn "ADW_generic" /s noivw-pulsereg3 /tr "\"U:\adw_prerun_bat_file\filesToUseInAutomatedPvReg\ADWGeneric_cic.bat\" -var 23232 " /sc ONCE /sd 12/29/2014 /st 12:00 /f
那就不会有问题了
但是,当我在perl中通过bsub(使用system)运行相同的命令时,如下所示:
my $cmdTriggerServerSetup = "bsub -J ADWServer -m machine1 -e //noida02/psd/error_tette.log -q win_normal \'SCHTASKS /create /tn \"ADW_generic\" /s noivw-pulsereg3 /tr \"\"U:\\adw_prerun_bat_file\\filesToUseInAutomatedPvReg\\ADWGeneric_cic.bat\" -var 23232 \" /sc ONCE /sd 12/29/2014 /st 12:00 /f\'";
出现以下错误:
ERROR: Invalid argument/option - '-var'.
Type "SCHTASKS /CREATE /?" for usage.
我怎样才能摆脱这个错误?我知道这个错误是因为引号,因此希望帮助弄清楚如何将引号添加到命令中。
我希望所需的字符串是SCHTASKS /create /tn "ADW_generic" /s noivw-pulsereg3 /tr "\"U:\adw_prerun_bat_file\filesToUseInAutomatedPvReg\ADWGeneric_cic.bat\" -var 23232 " /sc ONCE /sd 12/29/2014 /st 12:00 /f
但是当我使用as时:
my $cmdTriggerServerSetup = "bsub -J ADWServer -m machine1 -e //noida02/psd/error_tette.log -q win_normal \'SCHTASKS /create /tn \"ADW_generic\" /s noivw-pulsereg3 /tr \"\\"U:\\adw_prerun_bat_file\\filesToUseInAutomatedPvReg\\ADWGeneric_cic.bat\\" -var 23232 \" /sc ONCE /sd 12/29/2014 /st 12:00 /f\'";
它给了我一个错误:
Bareword found where operator expected at test.pl line 24, near "U"
(Missing operator before U?)
1条答案
按热度按时间xpszyzbs1#
我们想建立一些命令。为了建造它们,我们需要这个:
首先,我们需要创建一个Windows命令。
又一个。
我们可以在这里构建一个sh命令传递给
system
。但是我们可以直接启动
bsub
,而不是使用shell中介。如果需要捕获输出或其他内容,请使用IPC::Run的
run
而不是system
。