「\?$*'ChouMi'*$?\」というファイルを作成するには?

「\?$*'ChouMi'*$?\」というファイルを作成するには?

次のように表示さ"\?$*'ChouMi'*$?\"れるように、正しい名前のファイルを作成する必要があります。ls

$ ls | cat -e
"\?$*'ChouMi'*$?\"$
$

答え1

名前を一重引用符で囲みます。これにより、シェルがバックスラッシュや文字列拡張のように見えるアイテムを処理するのを防ぎます。

埋め込まれた一重引用符ごとに一重引用符文字列を一時的にエスケープし、引用符で囲まれた一重引用符を追加します'\''。これは、基本的にコマンドラインで各単一引用符を置き換えることを意味します。'"'"'

$ touch '"\?$*'\''ChouMi'\''*$?\"'
$ ls
"\?$*'ChouMi'*$?\"

同様に、変数に名前が必要な場合:

$ name='"\?$*'\''ChouMi'\''*$?\"'
$ touch "$name"
$ ls
"\?$*'ChouMi'*$?\"

$nameこの値は使用するたびに引用する必要があります。)

やや関連:

関連情報