${ ..; }
,
specify #!/usr/bin/env ksh
.(Or "To use cases with ;;&
, specify
#!/usr/bin/env bash
)
#!/usr/bin/env bash
var=${ mycmd; };
or
#!/usr/bin/env ksh
case "$1" in
foo) echo "Foo!" ;;&
f*) echo "F-something at least" ;;
esac
#!/usr/bin/env ksh
var=${ mycmd; };
or
#!/usr/bin/env bash
case "$1" in
foo) echo "Foo!" ;;&
f*) echo "F-something at least" ;;
esac
You are using a shell syntax feature not supported by the script's shell. Either rewrite the construct, or switch to a different shell interpreter.
ShellCheck 0.10.0 and below warns about ${ ..; }
command
expansions when using Bash. However, Bash 5.3 added support for this
construct. If you are using this construct in Bash 5.3, either ignore
the warning or upgrade ShellCheck.
ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.