"${var:?}" to ensure this never expands to /*
.rm -rf "$STEAMROOT/"*rm -rf "${STEAMROOT:?}/"*If STEAMROOT is empty, this will end
up deleting everything in the system's root directory.
Using :? will cause the command to fail if the variable
is null or unset. Similarly, you can use :- to set a
default value if applicable.
In the case command substitution, assign to a variable first and then
use :?. This is relevant even if the command seems simple
and obviously correct, since forks and execs can fail due to external
system limits and conditions, resulting in a blank substitution.
For more details about :? see the "Parameter Expansion"
section of the Bash man page.
None.
ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.