末尾の行文字に関連する一貫性のないシェル動作

末尾の行文字に関連する一貫性のないシェル動作

なぜ:

[ "a" != "$(printf "\na")" ] && echo true || echo false

同時に印刷true

[ "a" != "$(printf "\n")a" ] && echo true || echo false

印刷false

答え1

私の考えでは$(...)。この置換は、閉じた改行文字を自動的に削除します。これは良い基本的な動作です。

関連情報