シェルスクリプトの変数の基本を解説

shell

開発でシェルスクリプトのコードを書くことになったので、基本をおさえておきたいのですが…

クロネコ先生
クロネコ先生

OKだよ!まず最初に変数について解説していくね。
実際の開発だと変数はたくさん扱うからしっかりおさえておこうね。


変数の定義

まずは変数の定義からだよ。

var=変数1

変数名=代入したい変数」といった感じで定義するよ。


意味は同じだけど、シングルクォーテーション、ダブルクォーテーションで変数を囲っても同じように定義できるよ。

var=’変数1′
var=”変数1″


つまり以下の定義はすべて同じ意味なんだ。

すべて同じ意味

var=変数1
var=’変数1′
var=”変数1″


変数の利用

つぎは変数を利用してみよう。

まずはさっきの変数を出力してみるね。

コマンド

var=変数1
echo $var

実行結果

変数1

変数名の前に「$」をつけると変数を利用できるよ。


中括弧「{}」で変数を囲っても同じ意味になるんだ。

コマンド

var=変数1
echo ${var}

実行結果

変数1


つまり以下のコマンドは同じ出力をするんだ。

以下は同じ出力になる

echo $var
echo ${var}

なんで同じ出力なのに違う書き方が用意されているの?

クロネコ先生
クロネコ先生

それはね、
ある書き方をしたときに不都合が起きるからなんだよ。
これから説明するね。

コマンド

var=変数1
echo $vartest

実行結果

こんなふうに変数の後に「test1」の文字列を追加してみたよ。この場合、出力は何も表示されないんだ。
「var」の値の後に「test」の文字列を追加して表示したいのに、この書き方だと「$」は「vartest」を指定してしまっているんだ。


コマンド

var=変数1
echo ${var}test

実行結果

変数1test

この書き方だと変数「var」と文字列「test」が区別して書けているので、出力も問題なく表示されたね。

まとめ

クロネコ先生
クロネコ先生

この章では変数の定義について解説しました。
次の章では条件分岐について学んでいきます。

コメント

タイトルとURLをコピーしました