Berikut adalah beberapa kode yang melakukan sesuatu yang berbeda di POSIX sh dan Bash:
hello &> world
Apakah itu "tidak valid" untuk Anda, saya tidak tahu.
Di Bash, ini mengarahkan ulang output standar dan kesalahan standar dari helloke file world. Dalam POSIX sh, ini berjalan hellodi latar belakang dan kemudian membuat pengalihan kosong ke world, memotongnya (yaitu diperlakukan sebagai & >).
Ada banyak kasus lain di mana ekstensi Bash akan melakukan hal mereka ketika dijalankan di bawah bash, dan akan memiliki efek yang berbeda dalam POSIX murni sh. Sebagai contoh, ekspansi brace adalah hal lain, dan itu juga beroperasi sama di bawah mode POSIX Bash dan tidak.
Sejauh kesalahan sintaks statis berjalan, Bash memiliki kata-kata yang dicadangkan (seperti [[dan time) tidak ditentukan oleh POSIX, sedemikian sehingga [[ xmerupakan kode shell POSIX yang valid tetapi kesalahan sintaks Bash, dan riwayat berbagai bug inkompatibilitas POSIX yang dapat mengakibatkan kesalahan sintaksis, seperti yang dari pertanyaan ini :
x=$(cat <<'EOF'
`
EOF
)
bash: line 2: unexpected EOF while looking for matching ``'
bash: line 5: syntax error: unexpected end of file
Sintaks-kesalahan-saja adalah definisi yang cukup berbahaya dari "tidak valid" untuk keadaan apa pun yang penting, tetapi ada itu.