ls > out only applies to a single line, so how do we control bash's input and output streams for blocks of commands?
exec does just that -- it changes where stdout and stderr go for all commands that come after it.
In this lesson, we'll use
exec in a script to redirect all stdout and stderr to a log file. Our script will be a post-merge git hook, which runs after a git pull is performed. It'll check git's list of changed files and run
npm install if package.json was changed. Because git operations are sometimes performed inside UI instead of the shell directly, it can be handy to capture any errors in a log file.