bashシェルスクリプトで引数を解釈し処理するスクリプトを書きたい時に必要になるコマンドや特殊変数、関数をまとめました。例もあるよ。
※ $@について追記しました!感謝! https://twitter.com/masutaka/status/796703261185216512
$*
順番に見てく。まず$*。
すべての引数が設定される特殊変数。
こんなスクリプトがあったとして…。
#!/bin/sh
echo $*
こうなる。
$ ./argument.sh a bb ccc
a bb ccc
$@
すべての引数が設定される特殊変数。え!?@*と同じじゃん!
違いは、「$@はスペース区切りで設定される」のに対し、「@*は環境変数IFS区切りで設定される」こと!知らなかった...。
IFSが空の場合は上にもあるようにスペース区切り。
$ ./argument.sh a bb ccc
a bb ccc
環境変数IFSを設定すると...。
#!/bin/sh
IFS='区切りだよ'