「-」記号で始まるファイルを作成する方法

「-」記号で始まるファイルを作成する方法

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

関連情報