Bashでは、私の観察が正しいかどうかはわかりません。ほとんどのコマンドでは、オプションに似たパラメータ(つまり、--abc
またはで始まるパラメータ-a
)はコマンドパラメータリストの任意の場所にありますが、他のパラメータはパラメータリスト内の固定位置を持ちます。
書面/文書で書かれていないルールがあるかどうか疑問に思います。ありがとうございます!
答え1
つまり、プログラムによって異なります。 Bashがすることは、引数をプログラムのメイン関数に送ることであり、その時点からメイン関数は引数で何をするかを決めます。一部のプログラムは引数の順序を気にしませんが、一部はこれを考慮します。
答え2
以下は、プログラム引数の順序が重要な重要な例です。次の出力を比較してください。
find . -type f -atime 0 -daystart
そして:
find . -type f -daystart -atime 0
(ファイルが保存されているドライブには最近追加atime
が必要です。)始めるのに役立つ多くのWebページがありますが、そのパラメータが非常に具体的な順序になっているというfind(1)
事実はほとんど言及されていません。find
答え3
man commandName
これが使用するコマンドに重要かどうかを伝えます。通常、何かで始まるのは-
コマンドの動作を変更するオプションであり、他のものはコマンドへの引数(入力として使用できます)です。