私は学生で、ファイル名に引用符、二重引用符、その他の記号を含む単語を割り当てる練習を試みています。
問題は、期待した結果が得られないことです。
スケープバーを使用してシンボルをスケープしていますが、ファイル名を一覧表示すると、ファイル名の先頭と末尾に予期しない一重引用符が表示され、スケープバーは一重引用符の前になければならない一重引用符で囲まれています。ファイル名の一部です。やや混乱しています。以下をお見せします。
$ echo > \"\\\?\$\*\'\'\*\$\?\\\"
私はこれを期待する:
$ ls
"\?$*''*$?\"
しかし、私が得ることはこれです:
$ ls
'"\?$*'\'''\''*$?\"'
二重引用符を一重引用符で囲んだり、その逆に置き換えたりするなど、別の方法でこれを実行してみましたが、常に同じ結果が得られました。私は別のコンピュータで同じ練習を実行して素晴らしい結果を得ました。さらに興味深いことに、一重引用符と二重引用符の両方が標準入力にリダイレクトされるコマンドとして機能することがわかりました。これは予期しない名前の表示に関連していると思われます。
$ '
>
$ "
>
このコマンドは、標準入力を表示する以外は何もしないようです。これは普通ですか?どうしたの?どうですか?
答え1
他のコンピュータでは、バージョンや設定の問題によって予想される動作が異なるようですls
。ls -N
引用符についてはコマンドではないようですが、引用符が不完全であると解釈され、正しく閉じられていない場合はプロンプトが表示されます。 @don_crisstiと@MarcusMüllerのおかげで、すべての説明と関連リンクがコメントにあります。