行で区切らずに端末からダッシュファイルを読み取る方法./
たとえば、aを読むには、- file
次のように読みます。
cat ./-file_name
尋ねる:同じ目標を達成する他の方法はありますか?
ベストアンサー1
--
オプションの終わりを表示するには、doubleを使用します。
cat -- -<FILENAME>
touch
rm
などのプログラムも、次git checkout
の規則に従います。
$ touch -- -file
$ ll
total 0
-rw-r--r-- 1 ja ja 0 Mar 10 13:13 -file
$ echo hi! >> -file
$ cat -- -file
hi!
$ rm -- -file
$ echo $?
0
警告する:スクリプトでは常にafterを使用することをお勧めし--
ます。rm
攻撃者は--rf
ファイルをディレクトリに配置し、rm *
それを実行引数として使用する可能性があります。確認してください:
$ touch A
$ touch B
$ mkdir dir
$ touch dir/C
$ touch -- -rf
$ rm *
$ ll
total 0
-rw-r--r-- 1 ja ja 0 Mar 10 13:21 -rf
申し訳ありません。そんな意味ではありません。ディレクトリを削除したくありません。以下を使用する必要があります--
。
$ touch A
$ touch B
$ mkdir dir
$ touch dir/C
$ touch -- -rf
$ rm -- *
rm: cannot remove `dir': Is a directory
$ ll
total 4.0K
drwxr-xr-x 2 ja ja 4.0K Mar 10 13:22 dir