diff --git a/see_also/exec b/see_also/exec new file mode 100644 index 0000000..2d3617c --- /dev/null +++ b/see_also/exec @@ -0,0 +1,4 @@ +sh +bash +zsh +exec diff --git a/sheets/exec b/sheets/exec new file mode 100644 index 0000000..0e6e030 --- /dev/null +++ b/sheets/exec @@ -0,0 +1,17 @@ +# 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 the output of an entire shell script within the script itself +# Only stdout: +exec > foo.log + +# Redirect the output of an entire shell script within the script itself +# Stdout and stderr: +exec > foo.log 2>&1 + +# Copy output to a log file +exec > >(tee -ia foo.log) +exec 2> >(tee -ia foo.log >&2)