execif script should continue after this command.
echo "Starting compilation" exec ./compile echo "Starting deployment" exec ./deploy
echo "Starting compilation" ./compile echo "Starting deployment" ./deploy
The script contains an
exec command followed by other commands in the same block. This is likely an error because the script will not resume after an
Instead, "exec" refers to the Unix process model's idea of execution (see
execve(2)), in which the current process stops its current program and replaces it with a new one. This is mainly used in wrapper scripts.
To execute another script or program and then continue, simply drop the
exec as in the example.
If the code after the
exec is only there to handle a failure in executing the command you can ignore this warning. For this reason, ShellCheck suppresses the warning if
exec is only followed by
ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.