シェル・ヒストリー・環境変数
シェル
これまでコマンドを打ち込んで操作してきた環境、すなわち、UNIXにおけるユーザーインターフェース(特にCUIのインターフェース)の環境を管理するシステムを、「シェル」と呼ぶ。シェルにはいろいろな種類があるが、多くのLinux環境ではbashというシェルが標準的である。実際、たとえば以下のように、lslsなどというようなありえない(間違った)コマンドを打ち込むと....
$ lsls -bash: lsls: command not found
上のようなエラーメッセージが出てくるが、ここで表示される"-bash:"というのが、現在使っているシェルの名前であり、「今、きみが使っているbashというシェルではlslsというコマンドを見付けることができないよ!」というのがそのメッセージの意味である。
シェルには、bashのほかに、shやcshなどの種類がある。shやcshは、対話環境(キーボードからユーザーがぱしぱしと命令を打ち込む環境)としてはあまり使われないが、シェルスクリプト(後述)の環境としては非常にポピュラーである。
シェルには、コマンドを解釈して実行する機能のほかに、いくつかの重要な機能がある。
ヒストリー機能
シェルは、ユーザーが打ち込んだコマンドを、ある一定数、記憶保持している。それをヒストリーと呼ぶ。Linuxのデフォルトのシェルでは、そのような、過去に打ち込んだコマンドを、キーボードの上向き矢印のキーを押すことで遡って表示することができる。あるいは、
$ history
と入力することで、ヒストリーを一覧できる。
ファイル名の補完機能
コマンドに対してファイル名を打ち込むとき、あるていどの部分を打てば、あとはその部分から始まるファイル名を自動検索して補完してくれる機能などもある。これを使うには、TABキーを押す。
- 例: ls -l /usr/local/を命令するのに、ls -l /usr/loまで打ち込んで、あとはTABキーを押してみよ。
シェル変数・環境変数
シェルは、ユーザーの現在の環境やアプリケーションに必要な情報を記憶してくれる。それをシェル変数・環境変数という。環境変数はシェル変数の一種で、ユーザーの環境に応じた情報を記憶する。
環境変数を調べるには、
$ set | less
と打ってみよ。
ここで、例えば"BASH=/bin/bash”などが表示されるが、これは、BASHという環境変数に/bin/bashという文字列が登録されていることを示している。このような環境変数はデフォルトでたくさん登録されていることがわかる。(lessを終わらせるには、キーボードでqを押すこと。)
シェル変数・環境変数の内容を表示するには、echoコマンドを使う。シェル変数・環境変数の名前は、$という記号を頭につけて指定する。
HOMEという名前の環境変数には、ホームディレクトリの絶対パスが入っているが、それを表示するには、
$ echo $HOME
とすればよい。
- 課題: USERという名前の環境変数の内容を表示してみよ。
- 課題: PATHという名前の環境変数の内容を表示してみよ。
Keyword(s):
References:[Unix/Linux入門] [2018_実用解析]