cheat.sheets:exec
# exec
#
# Shell builtin command
# It can start a new process to replace the shell, without a new process
# creation. It can make redirections take effect in the current shell
# Redirect all STDOUT from within a script to the given file.
exec > foo.log
# Redirect all of both STDOUT & STDERR from within a script to the given file.
exec > foo.log 2>&1
# Or, if on bash(1), this syntax is also viable:
exec &> foo.log
# Copy output to a log file, allowing the outputs to still work as usual.
exec > >(tee -ia foo.log)
exec 2> >(tee -ia foo.log >&2)
tldr:exec
# exec
# Replace the current process with another process.
# More information: <https://linuxcommand.org/lc3_man_pages/exech.html>.
# Replace with the specified command using the current environment variables:
exec command -with -flags
# Replace with the specified command, clearing environment variables:
exec -c command -with -flags
# Replace with the specified command and login using the default shell:
exec -l command -with -flags
# Replace with the specified command and change the process name:
exec -a process_name command -with -flags
$
cheat.sh