[解決済み] 用語の違い。「オプション"、"引数"、"パラメータ"?
質問
オプション」、「引数」、「パラメータ」という用語は、それぞれどのような違いがありますか。 man ページでは、これらの用語はしばしば互換的に使用されているようです。
どのように解決するのですか?
A コマンド という文字列の配列に分割されます。 引数 . 引数0は(通常)コマンド名、引数1はコマンドに続く最初の要素、そして以下となります。これらの引数は時々 位置パラメーター .
$ ls -la /tmp /var/tmp
arg0 = ls
arg1 = -la
arg2 = /tmp
arg3 = /var/tmp
某
オプション
は、文書化された
引数
の挙動を変更する
コマンド
は、例えば
-l
は一般に "long" を意味します。
-v
冗長な。
-lv
は
に
のオプションが組み合わされ
シングル
引数で指定します。 また
長いオプション
のように
--verbose
(参照
getopts を使って長いコマンドラインオプションと短いコマンドラインオプションを処理する。
). その名前が示すように、オプションは通常任意です。しかし、中には逆説的な「必須オプション」を持つコマンドもあります。
$ ls -la /tmp /var/tmp
option1= -l
option2= -a
A
パラメータ
は引数であり、その情報は
コマンド
またはその
オプション
で、例えば
-o file
,
ファイル
のパラメータは
-o
オプションのパラメータです。オプションと違って、パラメータはその値がプログラム中にハードコードされているため、ユーザーは自分の必要性に応じた文字列を自由に使用することができます。オプションのように見えるがそう解釈されるべきではないパラメータを渡す必要がある場合は、コマンドラインの先頭からダッシュで区切ってください。
--
.
$ ls -la /tmp /var/tmp
parameter1= /tmp
parameter2= /var/tmp
$ ls -l -- -a
option1 = -l
parameter1 = -a
A
シェルパラメータ
は、シェルのコンテキストで値を保存するものです。これには位置パラメーター (例えば
$1
,
$2
...), 変数 (例.
$foo
,
$bar
...) と特殊文字のもの (例.
$@
)
最後に
サブコマンド
のように、複数の個別のコマンドを埋め込む "メタコマンド" で使用される関数/(低レベル)コマンドとも呼ばれます。
busybox
,
git
,
apt-get
,
openssl
などがあります.これらのサブコマンドでは、サブコマンドの前にグローバルオプションがあり、サブコマンドの後にサブコマンド固有のオプションがある場合があります。パラメータとは異なり、可能なサブコマンドのリストはコマンド自体にハードコードされています。
$ busybox ls -l
command = busybox
subcommand = ls
subcommand option1 = -l
$ git --git-dir=a.git --work-tree=b -C c status -s
command = git
command option1 = --git-dir=a.git
command option2 = --work-tree=b
command option3 = -C c
subcommand = status
subcommand option1 = -s
のようなコマンドもあることに注意してください。
test
,
tar
,
dd
と
find
は先に説明したものよりも複雑な引数解析構文を持っており、引数の一部または全部を
expressions
,
operands
,
keys
といったコマンド固有のコンポーネントがあります。
また、オプションの変数割り当てとリダイレクトは、他のコマンド ライン パラメータと同様に、チルダ展開、パラメータ展開、コマンド置換、算術展開、および引用符除去のためにシェルによって処理されるにもかかわらず、コマンドが実際に呼び出されてその引数を渡されたときに消滅しているので、私の回答では考慮されないことにも注意してください。
関連
-
[解決済み] を付けるべきでしょうか?(shebang)を付けるべきか、またどのような形で付けるべきか?
-
[解決済み] 引数とパラメータの違いは何ですか?
-
[解決済み] grep --exclude/--include構文を使って特定のファイルをgrepしないようにする
-
[解決済み] Bashのシングルクォートとダブルクォートの違い
-
[解決済み] リファレンス - このシンボルはPHPで何を意味するのですか?
-
[解決済み] BASHでAWS S3 CLIを使用して標準出力にファイルをダンプするには?
-
[解決済み] Bashの履歴にコマンドを表示させないようにするには?
-
[解決済み] ssh 鍵を生成する bash スクリプトの enter キー押下を自動化する。
-
[解決済み] 空のディレクトリの検索
-
[解決済み] Bashでforループを書くには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Bashでコマンド出力を隠す方法
-
[解決済み] Ansibleで新しいユーザーとパスワードを作成する
-
[解決済み] bashのcurlステートメントに'&'文字を含める方法
-
[解決済み] bashでalt + numericを押すと(arg [numeric])と出ますが、これは何でしょう?
-
[解決済み] シェルスクリプトからウェブブラウザを起動する方法は?
-
[解決済み] MSYSでフォルダを閲覧する
-
[解決済み] Unixで、カレントディレクトリ以下をすべて削除するにはどうしたらいいですか?
-
[解決済み] 空のディレクトリの検索
-
[解決済み] シェルのワイルドカード文字展開を停止しますか?
-
[解決済み] Bashでforループを書くには?