シェルスクリプト

シェルスクリプトで環境変数を使用する

みなさんこんばんは
いかがお過ごしでしょうか?
すっかり梅雨の季節になりました。
ジメジメした日が続いていますが、元気を出していきましょう。

さて、今回はシェルスクリプトで環境変数を使用する方法を紹介します。
簡単なシェルスクリプトを作成しますので参考になれば幸いです。

シェルスクリプトでの環境変数の使い道

シェルスクリプトを作成するにあたって環境変数を使用しなくても作成は可能ですが
環境変数を上手く利用することで開発環境が異なる場合でもスクリプトに手を入れるようなことが不要になり
汎用性の高いスクリプトになります。
例としてはユーザが複数ある環境でスクリプトを使用した場合でしょうか。
この場合は/home以下にユーザのディレクトリが作成され、ログインしたユーザにより
ホームディレクトリまでのパス表記が変更になります。
この際、絶対パスでスクリプトの内容が書かれている場合はパスの変更が必要となりますが
HOMEという環境変数を使用することで修正を行わずにスクリプトを使用することができます。

環境変数は基本的にはその環境に合わせて予め設定しているものだと思いますので
必要な設定のみスクリプトに盛り込むだけで済みます。

シェルスクリプト内で使われる環境変数

ここではシェルスクリプトでよく使われる環境変数を紹介します。
※管理人主観で選んでいるのであくまで参考程度に…

環境変数名内容
HOMEホームディレクトリのパス
PWD現在のディレクトリまでの絶対パス
SHELL起動中のシェルのパス
PATH設定中のPATH一覧
OLDPWD現在パスに移動する前のパス
シェルスクリプト内で使用される環境変数

中にはシェルによって環境変数の内容が変わってしまうものもあるため使用する際には確認も重要です。
この他に環境変数は色々あるので興味がある方は調べてみてはいかがでしょうか?
また自分のPCの環境変数を知りたい場合はenvコマンドを実行することで環境変数の一覧を表示できます。

環境変数を簡単に紹介したところで、次はいよいよ環境変数を使ってシェルスクリプトを作成してみます。

実践:環境変数をシェルスクリプトで使ってみる

それではいよいよ環境変数を使用してスクリプトを作成してみましょう。
内容はホームディレクトリとシェルパス、言語モードを表示するスクリプトです。
非常にシンプルなスクリプトですが以下のように作成しました。

chmodコマンドで実行権を付与して実行してみましょう。
以下のように自分の端末環境での各環境変数が表示されれば成功です。

スクリプト実行結果

最後に

みなさんスクリプトの実行結果は正しく表示されましたか?
上記の環境変数がブランクということはなかなかないと思うので基本表示されるかと思いますが
表示されない場合はecho $環境変数名としてみると良いと思います。
設定されていない場合はブランクが表示されます。

環境変数を使用することで環境に左右されない汎用的なシェルスクリプトの作成が
できるようになります。
皆さんも早速環境変数を使ってシェルスクリプトを作成してみてください。

それでは今回はこの辺で
また次回の記事で会いましょう!!

Translate »