Spring boot程序调用服务器上的sh脚本,sh脚本执行过程中会输出日志信息到nohup.out文件,但是会丢失信息,原命令是这样的
nohup sh/test/test.sh >/test/nohup.out &
这样命令是可以执行的,但是有些报错信息的话就看不到了,所以,看了很多博客后才找到解决办法。那就是在 nohup.out & 中间加入“2>&1”,即:
nohup sh/test/test.sh >/test/nohup.out 2>&1 &
这样改动之后,完整信息就能输出到nohup.out文件中了。
解释如下:
2>
表示把标准错误(stderr)重定向,标准输出(stdout)是1。
尖括号后面可以跟文件名,或者是&1, &2,分别表示重定向到标准输出和标准错误。
2> &1
1> &2
2> stderr.log
1> stdout.log