gpt4 book ai didi

java - 从 JSP/Servlet 编写简单日志到 UNIX/Shell 脚本

转载 作者:行者123 更新时间:2023-12-02 06:49:36 25 4
gpt4 key购买 nike

我正在创建一个简单的日志文件,其中包含日期/时间以及负责确定操作的用户。我所做的与我想从 java Servlet 运行 Shelscript(即 shellscript.sh)时通常所做的相同:

ProcessBuilder pl = new ProcessBuilder("/usr/bin/bash", "-c", "echo ($date) \" - Action_Name - " + User + "\" >> " + "myDirectory/logs/myLog.log");
pl.start();

我单独使用这两个命令,但是执行它们后,我在 myDirectory/logs/myLog.log 中看不到任何内容.

为什么这段代码不起作用?

最佳答案

发生这种情况是因为您在表示 $(date) 时意外指定了 ($date),因此 bash 提示语法错误并且没有执行该命令。你想要这个:

ProcessBuilder pl = new ProcessBuilder("/usr/bin/bash", "-c", "echo $(date) \" - Action_Name - " + User + "\" >> " + "myDirectory/logs/myLog.log");
pl.start();

如果您检查进程返回代码或打印其错误输出,您可以看到失败。如果您想以编程方式确定命令是否失败,请检查返回代码。

但是就像 Qwerky 在评论中提到的那样,头脑确实令人难以置信。

关于java - 从 JSP/Servlet 编写简单日志到 UNIX/Shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18213419/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com