シェルスクリプトを作成していますが、誤って名前が変数であるファイルを作成しました。これで出力$file
に含まれておりls
、削除できません。どうですか?
答え1
$
次の方法で脱出できます\
。
rm \$file
答え2
あなたもできます。
rm '$file'
一重引用符内の内容は常にリテラルとして扱われるため、グローバル変数と変数は拡張されません。
答え3
デフォルトでは、これらの奇妙な文字で文字通り操作を実行するには、エスケープする必要があります。シェルでこれを行う方法はいくつかあります。 1つ目は、エスケープする各文字の前に「\」を追加することです。だからあなたはこれを行うことができますrm \$file
。別の方法は、一重引用符(たとえば、rm '$file'
または)で引用することですrm '$'file
。一部の人々は二重引用符を「エスケープ」手段と見なしますが、空白だけをエスケープできます。たとえば、という名前のファイルがある場合は、a file
次のことができます。
rm a\ file
または
rm 'a file'
または
rm "a file"
答え4
すべてのグラフィカルファイルマネージャは何も解釈しようとはしないので、コンテキストメニューでそれを処理できるはずです。