Is there an easy way to log all activity that occurs from a shell script to a file?
I have a script. It outputs things like echo "instructions", as well as other program output. I know the commands:
command | tee -a "$log_file"
command >> logifle.log
What I'm asking is whether there is a shell parameter for logging, or a set command I can use or something like that. I don't necessarily want to add dozens of redirects or tee to files if I don't have to. I still want to get std output though – I just also want it to be logged.:wq
if you normally run your script with
foo.sh, try running it (assuming it's a bash script) with
bash -x foo.sh. If you want everything redirected to file, try
bash -x foo.sh > file.log 2>&1(note I'm redirecting stderr as well, remove the
2>&1if you don't want this). If you also want to see what's going on,
bash -x foo.sh 2>&1 | tee file.log.