キーボード(標準入力)からシェルの変数へ値を入力するためには
$<
という記号を使用する。
# set x = $< <- 変数xにキーボードから入力する 123 <- 123(Enter)で変数xに代入される # echo $x 123 # set y = ( $< $< ) <- 配列yに2つの値を代入する aaa <- 配列yの1番目の値を代入する bbb <- 配列yの2番目の値を代入する # echo $y[1] aaa # echo $y[2] bbb
シェルで変数を使った数値計算をするためには、整数と実数で以下の方法を使い分ける。
# @ x = 3 + 2 <- xには$がつかないことに注意 # echo $x 5 # @ y = $x * 4 <- 計算式の中のxには$がつく # echo $y 20 # @ z = ( $x + $y ) / 3 # echo $z 8 <- 整数計算なので小数点以下は切捨て(本当は8.333...) # @ z ++ # echo $z 9
# bc -l <- bcコマンドの基本的な使用方法 2.5 + 1.3 <- キーボード(標準入力)から計算式を入力する 3.8 <- 答えが標準出力へ出力される quit <- quitでbcコマンド終り # echo "3.5 * 2.3" | bc -l <- echoコマンドでパイプを通して計算式を入力する 8.05 # set x = `echo "3.5 * 2.3" | bc -l` <- 上のコマンドの出力をコマンド置換で変数xに代入する # echo $x 8.05
シェルスクリプトの中で実行時の引数を取ってくる時には
$argv
という特別な変数(配列)を使用する。
この変数は配列なので引数の個数は
$#argv
で知ることができる。
# cat test.sh <- test.shという名前で以下のスクリプトを作る echo -n $argv[1] "+" $argv[2] "= " <- -n オプションをつけると改行しない @ x = $argv[1] + $argv[2] echo $x # csh test.sh <- 引数をつけないで実行 argv: Subscript out of range. <- エラー表示 # csh test.sh 3 5 <- 2つの引数をつけて実行 3 + 5 = 8
$<
を使用する。
$argv
という配列に入る。