从peoplecode调用shell命令

时间:2017-04-26 16:47:42

标签: shell exec peoplesoft peoplecode

使用EXEC函数调用Peoplecode的OS命令时出错。 这个电话是这样的

CommitWork();

   &ShellCommand = "/path/mytest.sh param1 param2";

   &ReturnCode = Exec(&ShellCommand, %Exec_Synchronous + %FilePath_Absolute);
  

& ShellCommand使用路径,可执行文件和参数构建   如上所示通过。该命令在执行时工作正常   独立地

我不断收到错误 255 。语法有什么关系吗?有没有人有测试或工作的例子或任何建议?

3 个答案:

答案 0 :(得分:1)

谢谢你们回复。该命令从shell脚本运行良好,但不是从Peoplesoft运行。事实证明,应用程序服务器上的当前文件夹不正确。所以我添加了一个CD命令作为shell脚本中的第一行,将当前文件夹更改为正确的文件夹。那很有效。 再次感谢。

答案 1 :(得分:0)

语法看起来正确。 我使用类似的代码来调用bat文件。

    Exec("C:\windows\system32\cmd.exe /c C:\Test\mybat.bat param1 param2", %Exec_Synchronous+%FilePath_Absolute);

你尝试过绝对路径而不是相对路径吗?

答案 2 :(得分:0)

错误代码255似乎是超出范围的错误代码。

请参阅http://tldp.org/LDP/abs/html/exitcodes.html

我会检查你正在制作的假设。 运行shell脚本的用户名是否相同,用户名与应用服务器用户名是否相同? 环境设置是否与应用服务器用户名和用户名相同? 文件权限