sh -c を用いてファイルに書かずに、シェルスクリプトを実行出来る。Makefile などで、わざわざ別にファイルを作る程でもない時、csh 系のシェルを使っていてループを使いたい時など、幾つかの場面がある。 そのスクリプトに更に引数を渡すことも出来る。 ただ、厄介なのがその引数の扱われ方。sh -c でコマンドを渡した後に残ったものが、引数として扱われる。そして、面白いことに、一つ目の引数は $0 になり、それに順次続くといった動作になっている。 Solaris % sh -c 'echo $1' one two three two AIX % sh -c 'echo $1' one two three two FreeBSD % sh -c 'echo $1' one two three two linux% sh -c 'echo $1' one two three two 通常の