シェルとシェル変数、環境変数|LPIC101-1学習ノート
どうもこんばんは、たかはしさとしです。寒さがなかなか和らぐことのない今日この頃です。引き続きとても寒い日が続きますね。体調には気を付けましょうね。本日は休みでした。
前に小中高の個別指導塾で働いていたんです。とてもいい子ばかりが来ていたのですが、今日お昼を食べにいったところで個別指導塾に来てた子がバイトしていました。冬期講習期間中なので週5で塾に行って勉強しているらしいので、頑張って勉強してね、と伝えておきました。一回でも教えたことのある子が働いている姿を見るのはうれしいですね。週5で塾に行ってるのに、バイトも頑張っているのもまたすごいところだと思います。
前回の記事|読者を対等に扱うように書く
前回は読者を対等に扱うように書くことについて考えました。上から目線とか見下したりするのはしないようにぜひ心がけましょう。以下にリンクを貼っておきます。
まだ読んでいない方は、ぜひ読んでみてくださいね。さわらぎ寛子さんの『文書講座』もとてもいい本なので、ぜひ手に取って読んでみてください。
LPIC試験とは何か
コンピュータの資格試験に興味のない方は、LPIC(エルピック)ってことばすら聞いたことがないかもしれません。簡単にいうと、LPICっていうのはLinuxの技術者である認定資格ということになります。ぼくは仕事で使うのがほとんどWindowsPCであって、LinuxのPCやサーバを触ることはあまりないのですが、知識としてあれば何かと役に立つので、今回LPICを受けようと思い立ちました。
LPICにはレベル1~3までの試験があります。まずレベル1をとってから徐々にステップアップしていくのが良いみたいです。資格の難易度を見ると、LPICは超簡単となっていて、資格の取り方というサイトによれば、資格偏差値40で通ることができる代物みたいです。ITパスポートが資格偏差値45、基本情報技術者が49であることを考えると、IT系でも登竜門にあたる資格だと思います。
資格自体は簡単だとはいえ、そこで身につけることができた知識を活かせれば、資格の勉強をした価値以上になって必ず返ってきます。Azureにせよ、AWSにせよ、ほとんどの仮想サーバはLinuxで動作しているため、ここで得た知識は損はしません。そういう点で、ぼくにとっては少なくとも、資格の勉強をするコスパが高いものにあたります。
LPICについての説明はこれくらいにして、さっそく本題に入っていきたいと思います。
シェル
Linuxにおけるシェルとは、OSとユーザの間に立つユーザインタフェースのことです。シェル上のコマンドプロンプトにコマンドを入力して操作するイメージですね。Windowsで使うコマンドプロンプトと同じようなものですね。
name="jpZJ8">ユーザが入力したコマンドを解釈して、実行するインタプリタ(*1)です。
ユーザはシェルを通じてOSを扱うことができます。
Linuxの標準のシェルはbashです。ほかのシェルを使うことも可能ですが、まずはbashの使い方を押さえることとなります。
シェル変数と環境変数
シェルには使い方によって変数を持ちます。シェルが扱う変数にはシェル変数と環境変数があります。
シェル変数とは、設定されたシェルだけが使用する変数のこと。つまりそのシェル内でしか通用しない変数のことだと思ってください。
対して環境変数とは、設定されたシェルとそのシェルが起動したプログラムが共通に使用する変数のことです。シェル変数より適用範囲が広い変数が環境変数です。exportコマンドにより定義します。
setコマンド、unsetコマンド
現在のシェルで定義されているシェル変数の一覧を表示するためのコマンドが、引数なしのsetコマンドです。
$ set
シェルの変数の値を定義するには、”シェル変数名=値”です。
シェルの値の参照は、”$シェル変数名“もしくは”${シェル変数名}“となります。
シェル変数の削除には、unsetコマンドを用います。
たとえばシェル変数ABCを削除するには、次のコマンドを使います。
$ unset ABC
環境変数はexportコマンドを用います。
ちなみに環境変数を表示するコマンドは、envコマンド、もしくはprintenvコマンドを用います。
pwdコマンドと環境変数PWD
主なシェル変数の中にはPWDというシェル変数があります。
PWDとはpresent working
directlyの略だと思いますが、シェル変数PWDはカレントディレクトリの絶対パス(*2)が収納されているようです。つまり今作業しているディレクトリのパスだと覚えておけばいいでしょう。
現在の作業ディレクトリのパスを表示するコマンドもあります。それがpwdコマンドです。
それゆえ現在の作業ディレクトリのパスを表示するには、三つのコマンドがあります。
$ pwd
$ echo $PWD
$ echo ${PWD}
今日の学習はここまで。最後まで読んでいただき、ありがとうございました。
補足用語解説
*1 インタプリタ
インタプリタとは、逐次実行するということ。一文命令があったら、それをそのまま実行して結果を表示する方法のこと。
プログラミング言語界での対義語はコンパイラ。一文以上からなる命令の塊であるソースコードを一気に変換して、プログラムを実行する、またはプログラムファイルを作成するのがコンパイラだと押さえておけばいいでしょう。
*2 絶対パス
絶対パスとは、実際にそのファイルがあるファイルの所在地情報のこと。
Windowsの例でいうと、ドキュメントにtest.txtがあるとすると、設定をいじっていない限り、
C:\Users\[UserName]\Documents\test.txt
というパスが絶対パスといいます。
対義語が相対パス。現在の作業ディレクトリ(フォルダ)が
C:\Users\[UserName]\Picture\
だったとすると、コマンドプロンプト上では、
..\Documents\test.txt
と打つとtestファイルにアクセスできることになります。
Windowsではもっぱら用いることが減りましたが、コマンドラインを多用するシステムでは相対パスを用いてコマンドを記述することは多いです。
たかはしさとししるす 令和3年1月9日