変数名=変数値変数値は省略する事ができ、その時変数にはヌル(空白)が定義されます。 変数を参照するには(変数を評価するには)、変数名の前にドル記号($)をつけます。 定義した変数の一覧は、引き数なしの set コマンドを用います。
$ t=tanaka | # シェル変数の定義 |
$ echo $t | # 変数値への置換 |
tanaka | |
$ echo ${t}ichirou | # 変数名の後に文字列を続けて表示 |
tanakaichirou | |
$ t2=$t | # 別のシェル変数に代入 |
$ echo $t2 | |
tanaka | |
$ unset t | # 定義した変数の取り消し |
$ echo "[$t][$t2]" | |
[][tanaka] | # ない変数は NULL が返る |
$ set | |
CDAPATH=.:/usr/jsy/bin:/usr/bin | |
CDPATH=.:/usr/users/yakoshi:/usr/users:/proj1/ycos1 | |
CFLAGS=-g | |
DISPLAY=:0 |
$ set -A arry one two tree $ set |grep ^arry arry[0]=one arry[1]=two arry[2]=tree $ set -A arry zero ${arry[*]} $ set |grep ^arry arry[0]=zero arry[1]=one arry[2]=two arry[3]=tree $ arry[3]=three $ set |grep ^arry arry[0]=zero arry[1]=one arry[2]=two arry[3]=three
${変数名 式 値}
式 | 意味 |
---|---|
val:-str | 変数 val が空の場合 str を返す |
val:=str | 変数 val が空の場合 str を val に代入 |
val:+str | 変数 val に値がある場合 str を返す |
val:?"msg" | 変数 val が空の場合 msg を表示する。 |
val#ptn | 変数 val について ptn と前方一致する部分の削除 ![]() |
val%ptn | 変数 val について ptn と後方一致する部分の削除 ![]() |
例
$ unset a ; b="sore" $ echo "${a:-xxx}/${b:-yyy}" xxx/sore $ a= ; b="hoge" $ echo "${a:=aaa} ${b:=bbb}" aaa hoge $ echo $a $b aaa hoge $ a= $ echo ${a:?"not set"} a: not set $ a=a/b/c ; b=a/b/c $ echo ${a%/} ${b#/}a/b b/c