bashisms
Bashisms are language features that are valid in the Bash shell but not in the POSIX standard shell. They arise when script authors assume Bash-specific behavior, making their scripts non-portable to systems where /bin/sh is linked to dash, ash, or other shells. The term is sometimes used pejoratively to encourage portability.
Common examples include: using arrays (for example, arr=(a b c)); the Bash conditional test [[ ... ]] instead of
Detection and mitigation: to identify bashisms, developers use tools such as checkbashisms and ShellCheck, which warn
Conclusion: Bashisms reflect the broader distinction between Bash's extensions and the POSIX shell, shaping debates about