diff --git a/SC2127.md b/SC2127.md new file mode 100644 index 0000000..c1b2768 --- /dev/null +++ b/SC2127.md @@ -0,0 +1,49 @@ +## To use `${ ..; }`, specify `#!/usr/bin/env ksh`. + +(Or "To use cases with `;;&`, specify `#!/usr/bin/env bash`) + +### Problematic code: + +```sh +#!/usr/bin/env bash +var=${ mycmd; }; +``` + +or + +``` +#!/usr/bin/env ksh +case "$1" in + foo) echo "Foo!" ;;& + f*) echo "F-something at least" ;; +esac +``` + +### Correct code: + +```sh +#!/usr/bin/env ksh +var=${ mycmd; }; +``` + +or + +``` +#!/usr/bin/env bash +case "$1" in + foo) echo "Foo!" ;;& + f*) echo "F-something at least" ;; +esac +``` + +### Rationale: + +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. + +### Exceptions: + +None + +### Related resources: + +* Help by adding links to BashFAQ, StackOverflow, man pages, POSIX, etc! \ No newline at end of file