シェル変数
変数だよ
シェルが持っているよ
シェルスクリプトで使うよ
簡単に書くよ
シェル変数(読:シェルヘンスウ)とは
シェル
(人間様からの入力をコンピュータさんに伝えるプログラム)が持っている、値を入れておく箱(変数)
であり
シェルが動いているときに使える変数
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として
・シェル
・シェルスクリプト
・変数
について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
シェルは「人間様からの入力をコンピュータさんに伝えるプログラム」です。
コンピュータを1つの会社に例えれば、シェルは受付のおねーさんです。
ついでなので書いておくと、コンピュータを使う人間が会社への訪問者、パソコンの中身が会社で働いている人に相当します。
あなたがパソコンの中身と直接やり取りすることは ありません。
あなたが やり取りする相手は、シェルです。
シェルが、あなたの代わりにパソコンの中身と やり取りしてくれます。
ここでは
人間様はシェルに対して命令し、シェルがコンピュータさんに対して指示を出す
というのを覚えておいてください。
シェルスクリプトは「シェルで解釈できる命令を寄せ集めて作ったプログラム」です。
シェルに対する「パン買ってこい」や「肩を揉め」といった命令を書いたファイルです。
よく分からない人は「コンピュータさんに対する指示書」程度の理解でも かまいません。
変数は「プログラミング言語における『値を入れておく箱』」です。
今回はプログラミング言語うんぬんは気にしないでください。
とにかく「値を入れておく箱」です。
以上を踏まえて
シェルの持ち物で、シェルが動いているときに使える変数
が「シェル変数」です。
「シェルが動いているときに使える」というのは、例えばシェルスクリプトから変数の中身を見たりです。
シェルが持っているシェル変数は1つでは ありません。
いろいろな名前の箱を、たくさん持っています。
私の環境(CentOS)を例に説明しますが
set
と入力すると、以下のような内容が表示されます。
※内容は適当に端折っています。
argv ()
consoletype pty
csubstnonl
cwd /piyota
dirstack /piyota
echo_style both
edit
gid 0
group piyota
history 1000
home /piyota
killring 30
loginsh
owd
prompt [%n@%m %c]#
prompt2 %R?
promptchars $#
shell /bin/tcsh
shlvl 1
sourced 1
status 0
tty pts/0
例えば
home /piyota
という行に注目してください。
これは「home」という箱に「/piyota」という値が入っていることを意味します。
この状態で
echo $home
を実行すると
/piyota
と表示されます。
「echo」は「画面に表示してね」な指示です。
箱の中身を見るときは頭に「$」を付けます。
「$home」は「箱『home』の中身」を意味します。
よって、箱「home」の中身である「/piyota」が表示されたわけです。
なお、シェルスクリプト内で扱う変数は、基本的にシェル変数です。
シェルスクリプト内で「あー、この値をどこかに取っておきたいな」と思ったときは、シェルに対して「おい、ちょっと、こいつを覚えておいてよ」とお願いします。
一言でまとめるよ
まぁ「シェル変数」って単語が出てきたら「シェル
(人間様からの入力をコンピュータさんに伝えるプログラム)が持っている変数
(プログラミングにおける値を入れておく箱)なんだな~」と お考えください。
おまけ
■訳してみるよ
「shell(シェル)」の意味は「殻」とか「貝殻」とかです。
本体を取り囲んでいるやつのイメージですかね。
「変数」は日本語ですね。
何となく くっつけると
殻の変数
となります。
■検索してみる?






