【发布时间】:2012-07-23 00:29:10
【问题描述】:
我正在开发一个 Web 应用程序,其中我使用 shell 脚本作为我的后端(它有一个嵌入式 awk 脚本)和 Java 作为我的前端。我正在使用 Process Builder 来调用 shell 脚本程序。奇怪的是,我的 shell 脚本中的 awk 脚本没有被执行。我在哪里出错了...您能否分享您对此的看法。
在下面的评论中键入的 shell 脚本。
#!/bin/bash
FileA=$1
FileB=$2
awk -v FileA="$FileA" '{print $0 >> FileA;}' "$FileB"
【问题讨论】:
-
提供更多信息、源代码、示例、错误。是否成功调用了 shell 脚本?如果您从命令行运行 shell 脚本,它可以工作吗?
-
是的,当我运行 shell 脚本时,它确实可以工作。如果我从 Java 调用 shell 脚本,我不会收到任何错误。当我调用 awk 脚本时,没有执行所需的功能通过Java
-
在您的 shell 脚本中,添加如下行:
exec >/tmp/out 2>&1; set -x这会将所有输出填充到文件 /tmp/out 中,然后在运行时显示每个命令。通过 shell 运行以测试它是否有效,然后rm /tmp/out并通过 Java 运行。 -
#!/bin/bash FileA=$1 FileB=$2 awk -v FileA="$FileA" '{print $0 >> FileA;}' "FileB".. 这是一个简单的程序我正在使用,但没有得到预期的结果,也没有错误
标签: java shell awk processbuilder