Bash脚本没有输出nohup.out + Jenkins

时间:2013-06-03 17:37:04

标签: bash jenkins nohup

我有一个bash脚本,我从Jenkins的构建步骤调用。在这个bash脚本中有一个nohup命令,用于在后台调用不同的脚本,例如:

#!/bin/bash
nohup otherScript.sh &

构建步骤完成后,我将转到应该创建nohup.out的路径,但那里什么都没有。关于发生了什么的任何想法?

2 个答案:

答案 0 :(得分:6)

您应确保输出进入构建工作区。这样可以避免其他目录的权限问题。

nohup otherScript.sh > $WORKSPACE/scriptOutput.txt 2>&1 &

答案 1 :(得分:3)

引自man nohup

  

如果标准输入是终端,则从/ dev / null重定向。如果标准输出是终端,请尽可能将输出附加到nohup.out,否则$HOME/nohup.out。如果标准错误是终端,则将其重定向到标准输出。要将输出保存到FILE,请使用nohup COMMAND > FILE

从Jenkins运行命令可能意味着STDOUT不是终端,因此不会创建nohup.out。正如gareth_bowles已建议的那样,您应该将输出重定向到具有已定义路径的文件:

nohup script.sh >/path/to/output.log 2>&1 &