Linux端末でこのコマンドを使用して、名前が記号touch
で始まるファイルを作成したいと思います。-
-attempt
-
私がこの特定の役割を担っているという事実をどのように克服できますか?
たとえば、というファイルを作成したい場合は、単に書き込む#attempt
ことはできません。touch #attempt
代わりにそれを書く必要がありますが、touch \#attempt
この場合はそれを-
使って\
もまだうまくいきません。)
答え1
2つの方法:
-
最初の文字から離れているはずです。
touch ./-foo
または--
スイッチを閉じるタグを使用してください。
touch -- -foo
答え2
touch \#attempt
これは、ポンド記号がシェルに特別であるために機能します。繰り返しtouch \(foo\)
ますが、かっこやアンパサンドなどのtouch 'this & that'
ファイル名が欲しいです。
しかし、ダッシュを脱出することは特別ではないので役に立ちません。皮をむくしかし、シェルによって開始されるユーティリティです。シェルコマンドラインの実行はtouch \-foo
実行するのと同じであり、touch -foo
とにかくtouch
単一の引数を取得します-foo
。
だから逃げるのではなく別のことをしなければなりません。
コマンド引数を(可能な)オプションとして解釈するのをやめるようにプログラムに指示する標準的な方法は、オプションの--
後に引数を挿入することです。たとえば、これは次の名前のファイルでrm
実行されます。-f
-r
rm -f -- -r
(そしてrm -- --
名前が.のファイルは削除されます--
。)
または、ダッシュがファイル名の最初の文字(通常は前に追加されている)ではないことを確認してこれを行うこともできます。./
今回も、次の名前のファイルが削除されます-rf
。
rm ./-rf