-
Notifications
You must be signed in to change notification settings - Fork 1.8k
SC3062
Vidar Holen edited this page Apr 8, 2025
·
1 revision
if [ -o braceexpand ]
then
echo "Brace expansion available and enabled."
fi
$-
will be set to a list of shell options:
case $- of
*B*) echo "Brace expansion available and enabled."
esac
However, not all options are available through $-
. If you need to check those, ignore this suggestion with a directive:
# shellcheck disable=SC3062
if [ -n "$BASH_VERSION" ] && [ -o pipefail ]
then
echo "This is bash and pipefail is enabled."
fi
[ -o option ]
is a bash/ksh extension, while $-
is standard POSIX. Do note that letters outside the POSIX set are not guaranteed to be compatible, such as B
above.
As described.
- Help by adding links to BashFAQ, StackOverflow, man pages, POSIX, etc!