There is a bash script which prints some logs and allows some arguments. The script prints the logs to STDOUT.
Let's say the script's name is AAA.sh
I'd also like to make the script to print the logs to STDOUT
and a file
.
This can be done with tee
.
$ AAA.sh -a -b --c=d | tee 2012-07-03-080000.log
But my team often forgets to pipe the output to tee
. We should save the logs to file.
So I'd like to wrap the script with tee
.
What I want to do is
$ WrapAAAwithTee.sh -a -b --c=d
Then AAAwithTee.sh should print the log to STDOUT and a log file.
How can I wrap the AAA.sh?
Best Answer
This script will work better than the previous answer:
This will work properly with spaces and give a unique name to the log file, based on the current time. The
exec
also makes it a little more efficient and removes the wrapper from your process tree, once the child has launched.