将bash脚本输出到文件中(不带>>)

kir*_*rbo 2 bash

也许这很简单,但我不知道.我有一个在cron中指定的工作,它偶尔会调用一个脚本.

类似的东西: 1 1 * * * bash script.sh

现在,当脚本启动时,它会读取配置并意识到所有输出都需要附加到日志文件中.

简单的解决方案是更新cron任务,1 1 * * * bash script.sh >> log 但是假设在这个阶段不知道文件的名称和位置.

所以我提出了有效的解决方案,但我不喜欢它.脚本顶部的代码:

source config.sh

N=$#
LAST_ARG=${!N}
if [ "$LAST_ARG" != "log" ]
then
  bash \`basename $0\` \`echo $@ log\` >>  "$LogFile"
  exit
fi
Run Code Online (Sandbox Code Playgroud)

我递归地启动相同的脚本,附加参数和日志文件的方向.那么Parent实例刚刚关闭.

当然有必要有更好的方法吗?

谢谢

Eri*_*rik 7

exec 1>/the/file/name.log
Run Code Online (Sandbox Code Playgroud)

这会将stdout重定向到/the/file/name.log