POSIX sh ve Bash'te farklı şeyler yapan bir kod :
hello &> world
Bunun sizin için "geçersiz" olup olmadığını bilmiyorum.
Bash, bu standart çıktı ve standart hata hem yönlendirmeleri gelen hellodosya içine world. POSIX'te sh, helloarka planda çalışır ve ardından worldkeserek boş bir yeniden yönlendirme yapar (kısaltılmış olarak kullanılır & >).
Bash uzantılarının altında çalıştıklarında işlerini yapacağı bashve saf POSIX'te farklı etkileri olacağı birçok başka durum vardır sh. Örneğin, ayraç genişletme başka bir şeydir ve Bash'in POSIX modunda da aynı şekilde çalışır, aynı değildir.
Statik sözdizimi hataları giderilirken, Bash, POSIX tarafından belirtilmeyen, hem geçerli bir POSIX kabuk kodu, ancak bir Bash sözdizimi hatası, hem de sözdizimi hatalarıyla sonuçlanabilecek çeşitli POSIX uyumsuzluk hataları geçmişi gibi ayrılmış kelimeleri (gibi [[ve time) [[ xiçerir. bu sorudan olan gibi :
x=$(cat <<'EOF'
`
EOF
)
bash: line 2: unexpected EOF while looking for matching ``'
bash: line 5: syntax error: unexpected end of file
Yalnızca sözdizimi-hataları, önemli olduğu durumlar için "geçersiz" ifadesinin oldukça tehlikeli bir tanımıdır, ancak olduğu yerde.