1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

UNIXコマンド 引数について

Last updated at Posted at 2022-03-01

僕は、このコマンドを見て、どういう構造になっているかよくわかりませんでした。

$ hoge -v -lv foo -- -l bar

普段、何気なく使っているCLIコマンドですが -- などが出てくると、よくわからなくなってしまう時があります・・・。
なので、コマンドを整理してみましょう。

argument (引数)

引数はコマンド名を含めた、コマンドラインに与えられた文字列全体の配列です。
配列の最初にあるのが、コマンド名ということですね。
コマンドラインに与えられたコマンド名もオプションも、パラメータも全て、引数に含まれます。

$ ls -la /tmp /var/tmp
arg0 = ls
arg1 = -la
arg2 = /tmp
arg3 = /var/tmp

option (オプション)

オプションは コマンドの挙動を変えるために与えられるものですね。
-h のようなものは short と呼ばれ
--help のようなものは long と呼ばれます。

$ ls -la --help /tmp /var/tmp
option1 = -l
option2 = -a
option3 = --help

parameter (パラメータ)

パラメータはコマンド、もしくはオプションに情報を与えるものです。
例えば、-o fileの場合 file-oオプションにとってのパラメータです。
また、cat hoge.txt の場合は hoge.txtcat のパラメータですね。

そして、曲者の--ダブルダッシュですが
これはオプションのように解釈されてしまうパラメータを渡すために使われます。
--で区切った後の引数はオプションではなく、パラメータとして扱われます。

$ ls -l -- -a
option1    = -l
parameter1 = -a

参考

1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?