スラッシュは何をしますか? [コピー]

スラッシュは何をしますか? [コピー]

私が理解している制限では:

  • ./filenamefilenameスクリプトとして実行されます。
  • ./現在のディレクトリを表します。

./がaの前に来ると、その効果は何ですか(ある場合)グローバル予選(フィルター):

qpdf --empty --pages ./*.pdf(nOn) -- output.pdf

この質問は、なしで実行しても./同じ結果が出てくるようで尋ねることです。

ベストアンサー1

プレフィックス./(またはパス)は、ダッシュで始まるファイル名がオプションと見なされないようにします。

$ touch ./-l foo bar
$ ls
bar  foo  -l
$ ls *
-rw-r--r-- 1 ilkkachu ilkkachu 0 Nov  3 15:10 bar
-rw-r--r-- 1 ilkkachu ilkkachu 0 Nov  3 15:10 foo

必要な問題はそれである。シェルワイルドカードを拡張し、例えばlsパラメータを見ると、-lそれがファイル名のワイルドカードから来たのか、それともユーザーが自分で作成したのかを知る方法はありません。

上記で呼び出されたファイルは長いリストに切り替わり-lます。lsこれらのファイル名を使用するとinvalid optionエラーが発生する可能性があります。またはコマンドがあり、rmファイル名が-rf

これは、ファイル名に対するUnixシステムの緩い態度を間違いなく「間違って」作る要因の1つに過ぎません。詳細については、David Wheelerによって書かれて記事をチェックしてください。

おすすめ記事