Bash
Bashは<(コマンド)および>(コマンド)構文を使用することにより、プロセス置換(英語版)をサポートする。この構文は、通常のリダイレクトではファイル名が記述される箇所にあるコマンドの出力(または入力)を引数の代用とする(これは名前なしパイプをサポートするシステムならば /proc/fd/ の名前なしパイプにより実装され、名前付きパイプが必要ならば一時的な名前付きパイプにより実装されている)。
function キーワードを使用する場合、Bashの関数宣言はBourne・Korn・POSIXスクリプトと互換性がない(KornShellでも function を使用する場合に同様の問題が起こる)が、BashはBourne shellやKornShellの関数宣言構文を受け入れるためPOSIX準拠である。これ以外にも違いがあるため、互換性確保を配慮せず書かれたBashのシェルスクリプトをBourneやKornShellのインタプリタで起動できることは滅多にないが、Linuxが普及するにつれて互換性確保を配慮せずに書くことは少なくなっている。ただしPOSIXモードにおいては、Bashはより密接にPOSIXに準拠している。
Bashはヒアドキュメントをサポートする。Bashはバージョン2.05bより、<<<演算子を使った「ヒア文字列」から標準入力へのリダイレクトが可能である。
Bash3.0ではPerl言語を思い起こさせる構文を使用した、シェル組み込みの正規表現をサポートする。
Bash4.0では連想配列のサポートが導入された。