質問: 始めまして。今月からLinux(sentOS)を学び始め、つい先日やっとシェルスクリプトの書き方までたどり着きました。 自分自身でシェルスクリプトを作成していて疑問に思う点がありましたので、どなたか詳しい方ご教授いただければ幸いです 以下が自分で作成して試したシェルスクリプトになります。 var=1 (変数varの値を1に設定) vim test.sh !#/bin/sh echo $var test.shを実行すると変数varの中身が表示されるシェルスクリプト、test.shを作成。 これでtest.shを実行すれば1と表示されると思ったのですが、実行してみると何も表示されませんでした。 そこで、今度は以下のようなシェルスクリプトを作成しました。 vim extest.sh !#/bin/sh num=100 echo $num extest.shを実行した結果、こんどはちゃんと100と表示されました。 test.shでは変数varが参照できなかったのに、extest.shではシェルスクリプト内で定義した変数numは参照できた理由が 知りたくて今回質問させていただきました。 シェルスクリプトで参照できる変数はシェルスクリプト内で定義した変数だけであり、外で定義した変数は参照できない という理由であればそれでいいのですが、他にも自分の考えが及ばないような理由があるのでしたら是非教えていただきたいです。 どうかよろしくお願いします。、
回答: シェル変数と環境変数の違いです。