case
statements, not individual case branches.case $? in
0) echo "Success" ;;
# shellcheck disable=2154
*) echo "$cmd $flag returned failure" ;;
esac
# Applies to everything in the `case` statement
# shellcheck disable=2154
case $? in
0) echo "Success" ;;
*) echo "$cmd $flag returned failure" ;;
esac
or
case $? in
0) echo "Success" ;;
*)
# Applies to a single command within the `case`
# shellcheck disable=2154
echo "$cmd $flag returned failure"
;;
esac
You appear to have put a directive before a branch in a case statement.
ShellCheck directives can not be scoped to individual branches of
case
statements, only to the entire case
, or
to individual commands within it. Please move the directive as
appropriate.
(It is possible to apply directives to all commands within a
{ ..: }
command group, if you truly wish to apply a
directive to multiple commands but not the full case
statement.)
None.
ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.