|
|
第10回 シェル・スクリプト入門(1)前回,前々回は,Linux上でプログラミングをするときによく使うテキスト・エディタ「Emacs」と「vi」の基本操作法を説明しました。今回は,Linuxを操作するときに大きな役割を果たす「シェル」について説明します。シェルは,プログラマとシステムの“仲介役”です。シェル・スクリプトというプログラムを用意しておけば,複数のコマンドをバッチ処理することも可能です。 シェルの役割コマンドを使ってLinuxを操作しているとき,我々はシェルのお世話になっています。シェル(shell)は,ユーザーからのコマンド入力を受け付けて処理を実行するプログラムです。そのため,コマンド・インタープリタとも呼ばれます。 大まかなシェルの仕事の流れは,次の通りです。 (1) プロンプトを表示してコマンド入力を受け付ける Linuxで面白いのは,シェルが選択可能ということです。シェルには様々な種類があり,好みに応じて使い分けることができます。どんなシェルがあるのかは,/etc/shellsファイルを開いてみるとわかります(図1)。
図1●/etc/shellsの例
シェルは大きく分けて,sh系(sh,ksh,bash,zsh)とcsh系(csh,tcsh)の2種類があります。多くのLinuxディストリビューションでは,bashというシェルが標準的に使われており,本連載で取り上げているUbuntu(Ubuntu 8.04 LTS 日本語ローカライズド)でも,bashがデフォルトのシェルになっています。シェルが異なると,制御構文や変数の扱い,内部コマンドなどが異なってきます。 シェル・スクリプトとはシェルがコマンドを実行する処理方法には2通りあります。 一つはコマンドを入力するたびに処理が実行される「対話的な使い方」です。ユーザーがコマンドを入力すると,シェルはただちに処理を実行します。 もう一つは,あらかじめコマンドをファイルに記述しておき,「バッチ処理」として実行する方法です。 シェルは,記述されたコマンドを順に実行するだけではなく,条件分岐や繰り返しを使った制御構文も扱うことができます。つまり,簡単なスクリプト言語を内蔵しているのです。シェル上で実行できるスクリプト言語を「シェル・スクリプト」といいます。 シェル・スクリプトはLinux上で広く使われています。ユーザーのバッチ処理や問題解決ツールとしてだけではなく,システム管理ツールやLinuxシステムの起動処理,サービス・プログラムの実行制御にもシェル・スクリプトは使われています。さらに,シェル・スクリプトで作られているLinuxコマンドもあります。例えば,groupsコマンドなどです。このようにシェル・スクリプトは,Linuxシステムに欠かせないものです。 ですから,シェル・スクリプトに対する理解を深めることで,Linuxシステムの動作もより深く理解できるようになります。Linux起動時に処理されるシェル・スクリプトの例を挙げます。図2は,Linuxの起動に関するファイル「rc.local」の内容です。
図2●シェル・スクリプトの例(/etc/init.d/rc.local)
プログラミング経験がある方なら,なんとなく構文は理解できるかもしれません。制御構造については次回に解説します。おそらく次回の記事を読み終えるころには,このスクリプトの8割程度は理解できるようになっていることと思います。
>> シェル・スクリプトの実行方法
連載新着連載目次へ >>
|
読みましたか? 〜 未読記事をご紹介 |