
GNUツールは、エラーや警告メッセージを、行の一部(ファイル名、構文エラー、無効な日付など)が一致しない引用符で囲まれて出力することがよくあります:`と'
例えばGNU coreutilsからよくある質問:
$ date -d "2006-04-02 02:30:00"
date: invalid date `2006-04-02 02:30:00'
そして
rm: cannot remove `backup.tar': Value too large for defined data
なぜ彼らはこんなことをするのでしょうか? 何かメリットはあるのでしょうか? その背後にある歴史は何でしょうか?
答え1
古い X フォントでは、`..' は ‛..' のように対称的に見えました。
また、`..' を指定すると、LaTeX は '..' のような正しい左および右の単一引用符を生成します。
つまり「..」はハックであり、2012年にcoreutilsかわった'..' を引用符で囲んでシェルのようにする
ただし、これは完全なシェル構文ではなく、埋め込まれた "\r" 文字などが存在する場合は破損した出力が生成されます。また、一貫性がない場合もありますが、引用符が使用されないケースや、Unicode の '..' 引用符が使用されるケースもありました (これは、ロケールで定義された引用符を使用し、これらの制御文字をエスケープします)。
ごく最近(2015年)パッチ セットこれをより一貫性のあるものにするために、coreutils に導入されました。シェル互換形式ですべてのファイル名出力を引用符で囲むことで、制御文字も適切にエスケープされ、他のコマンドへのコピーと貼り付けが容易になります。診断内の他の項目では、前述のように「完全な Unicode」引用符が使用されます。