我想知道如果他们更改脚本中的变量之一,是否可以获取我编写的脚本输出的所有内容以转到日志文件。例如,在脚本中可以设置变量 createLog=true
来启用日志记录。
我知道我可以./myscript.sh 2>&1 | tee sabs.log
但我希望能够简单地运行 ./myscript.sh
并将整个脚本记录在一个文件中,如果 var 设置为 true,则输出到控制台。
我是否必须更改脚本中的每个命令才能完成此操作,或者是否有一个我可以在脚本开头执行的命令,该命令将输出到两者。
如果您需要更多详细信息,请告诉我。
谢谢!
最佳答案
不带参数的
exec
允许您重定向当前脚本的其余部分。
exec >log 2>&1
您无法在重定向中tee
,但可以通过后台作业显示该文件。
tail -f log &
关于linux - 将 STDerr 和 STDout 放入 bash 脚本内的日志文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23596696/