ベル記号で印刷できないascii 007というファイルを作成したいです。私はそれを試しましたが、ファイルに配置したテスト内容を印刷nano $'\007'
する?;というファイルを生成しました。cat ?
それでは、明示的にスペルではなくASCIIエンコーディングで名前が設定されたファイルをどのように生成しますか?
答え1
実際には、すべてが期待どおりに機能することができますが、2つの異なる現象が原因で誤解を受けています。
ls
一部の他のユーティリティは、デフォルトでは?
印刷できない文字を表示します。?
単一文字に一致するグローブです。
その結果、次のような動作が発生します。
$ echo foo > $'\007'
$ ls
?
$ cat ?
foo
文字通りという名前のファイルがあるようです?
。そうですか?実際、これは上記の2つの現象の偶然です。文書はまだ次のように呼び出されます^G
。
$ printf '<%q>\n' *
<$'\a'>
$ ls -lb
total 0
-rw-r--r-- 1 chris chris 0 Aug 1 14:20 \a
ファイルのリテラル名がという即時の表示にもかかわらず、?
おそらくすべてが期待どおりに機能します。