シェルで変数に値をセットする場合は 次のようにします。
$ var1=KAME $ echo $var1 KAME
コマンドの実行結果をセットする場合は 次のようにします。
$ var2=`echo KAME to USAGI` $ echo $var2 KAME to USAGI
この例では、$var2 に "KAME to USAGI" とセットされてしまいますが 別々の変数にセットしたい場合があります。
そんなときには、set コマンドを使用します。
set コマンドは、次の例のように 引数を $n の位置パラメータにセットすることができます。
$ set KANI SARU KAKI $ echo $1 KANI $ echo $2 SARU $ echo $3 KAKI
コマンドの結果をセットするには 次のように書きます。
$ set `echo KAME to USAGI` $ echo $1 KAME $ echo $2 to $ echo $3 USAGI
コマンドと定数を混ぜて書くこともできます。
$ set KURI `echo KANI KAKI` ONIGIRI $ echo $1,$2,$3,$4 KURI,KANI,KAKI,ONIGIRI
値の中に set のオプションとして理解されそうなものが ある場合は、"--" オプションを指定します。 "--" オプション以降は全て引数と判定されます。
$ set -- -x $ echo $1 -x
位置パラメータをクリアするには、 "--" オプションだけを指定します。
$ set --