Section Next | Prev


3.1 シェル変数

シェルには、値として文字列または数字を含む変数があります。変数名は英字で始まり 英字、数字、アンダースコアで表される文字列です。 シェル変数の定義は set を用いて次の様に行ないます。
	set 変数名=変数値
変数値は省略する事ができ、その時変数にはヌル(空白)が定義されます。 変数を参照するには(変数を評価するには)、変数名の前にドル記号($)をつけます。 定義した変数の一覧は、引き数なしの set コマンドを用います。

% set t=tanaka# シェル変数の定義
% echo $t# 変数値への置換
tanaka
% echo ${t}ichirou# 変数名の後に文字列を続けて表示
tanakaichirou
% set t2=$t# 別のシェル変数に代入
% echo $t2
tanaka
% unset t# 定義した変数の取り消し
% echo "[$t][$t2]"
[][tanaka]# ない変数は NULL が返る
% set
argv ()
cwd /proj1/PDS/tmp
history 20
home /usr/users/yakoshi
notify
path (. /usr/users/yakoshi/shell /usr/i18n/bin /usr/i18n/bin/mh
/usr/ucb /usr/bin/X11 /bin /usr/bin /usr/local/bin /usr/local/bin/X11 )
prompt csh>>
:
配列への値代入は小括弧()内に空白で値を区切って、一括しておこなう複合代入式を用います。 ここの要素を参照するには配列の添字を大括弧[]で指定し、全体を中括弧{}で囲みます。
	$ arry=(one two tree)
	$ set  |grep ^arry	# 環境変数のうち arry で始まるものを表示
	arry=([0]="one" [1]="two" [2]="tree")
	$ echo ${arry[1]}
	two
配列の全要素を指定する場合は添字にアスタリスク(*)またはアットマーク(@)を用います。
下記の例では、既にされている配列 arry の先頭(添え字0)へ要素を追加しています。
	$ arry=(zero ${arry[*]})
	$ set  |grep ^arry
	arry=([0]="zero" [1]="one" [2]="two" [3]="tree")

	$ arry[3]=three
	$ set  |grep ^arry
	arry=([0]="zero" [1]="one" [2]="two" [3]="three")

Section Next | Prev

Copyright 2007 ycosSystems CShell/Body31.html