1

使用 EXEC 函数为 Peoplecode 调用 OS 命令时出现错误。通话是这样的

CommitWork();

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

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

&ShellCommand 是使用路径、可执行文件和要传递的参数构建的,如上所示。该命令在独立执行时工作正常。

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

4

3 回答 3

1

谢谢大家的回复。该命令在 shell 脚本中运行良好,但在 Peoplesoft 中却没有。原来,应用服务器上的当前文件夹不正确。因此,我在 shell 脚本的第一行添加了一个 CD 命令,以将当前文件夹更改为正确的文件夹。那行得通。再次感谢。

于 2017-05-02T18:59:31.887 回答
0

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

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

您是否尝试过使用绝对路径而不是相对路径?

于 2017-05-01T06:26:09.670 回答
0

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

http://tldp.org/LDP/abs/html/exitcodes.html

我会检查你所做的假设。运行 shell 脚本的用户名是否相同,您的用户名与应用服务器用户名?应用服务器用户名与您的用户名的环境设置方式是否相同?文件权限

于 2017-05-01T17:01:01.783 回答