シェルの中では以下のように変数を定義することができます。
HELLO_MESSAGE="hello"
TEST_NUMBER=1
イコール(=)の前後にスペースなどをつけてはいけません。
この変数を使用するときは、変数名に$をつけて使います。
echo $HELLO_MESSAGE
# => hello
echo $TEST_NUMBER
# => 1
文字列などと連結して使うこともできます。リテラルは""や''といったクオートで囲みます。
echo "message:"$HELLO_MESSAGE
# => message:hello
echo $HELLO_MESSAGE"world"
# => helloworld
単純な処理では、以下のように記述しても同じ結果を得ることが出来ますがあまり推奨されません。
echo message:$HELLO_MESSAGE
# => message:hello
特に以下のように記述した場合、変数とリテラル(world)の部分の区切りが分からなくなり、変数が見当たらないことになるので注意が必要です。
echo $HELLO_MESSAGEworld
シェル変数は変数であることを明示するために、以下のように表記が可能す。
echo ${HELLO_MESSAGE}
# => hello
シェルスクリプト内ではリテラルや変数が混同されないように、リテラルはクオートで囲み、シェル変数は{}付きの表現を使用することを推奨します。
echo ${HELLO_MESSAGE}"world"
# => helloworld