シェルの変数(入力、計算、特別な変数)

シェル変数への入力

キーボード(標準入力)からシェルの変数へ値を入力するためには $< という記号を使用する。

シェル変数への入力の例

# 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    <- quitbcコマンド終り
# 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

練習課題

まとめ

参考


<- | ->
Home | Contents
abe@injapan.net