Linuxサーバー管理入門 - Linuxサーバー管理ならPerlゼミ

bash入門

bashはLinux標準のシェルです。bashを使うと、Linuxコマンドを実行することができます。

# bashでLinuxコマンドを実行
ls

環境変数を確認する

環境変数を確認してみましょう。envコマンドで確認できます。

env

grepと組み合わせると、必要な環境変数だけを取り出せます。

# MOJOを含んでいるものだけ取得
env | grep MOJO

環境変数を設定する

環境変数を設定するにはexportコマンドを使用します。

export 環境変数名=環境変数の値

以下は、Mojoliciousの開発サーバーmorboで、ポート番号を変更するサンプルです。

export MOJO_LISTEN=http://*:3050

bashの設定ファイル

bashの設定ファイルは、ホームディレクトリにある「.bashrc」です。

~/.bashrc

「.bash_profile」という特別な設定ファイルもありますが、普通に設定を行うときは「.bashrc」を使いましょう。

上記の環境変数の設定を「.bashrc」に書いておくと、シェルの読み込み時に自動的に設定できます。

bashのシェルスクリプト

bashのシェルスクリプトを作成してみましょう。よく使うLinuxコマンドを実行するときに便利です。

以下のスクリプトを「setup.sh」という名前で保存したとします。これは、cpanmとcpanfileで依存モジュールをすべてインストールするサンプルともなっています。

#!/bin/sh

cpanm --installdeps .

実行できるように、このスクリプトを保存してchmodコマンドで、パーミッションを755に変えます

chmod 755 setup.sh

実行

./setup.sh

シェバン

シェバンは「#!/bin/sh」となっています。Linuxではshはbashにエイリアスされています。

シェルスクリプトにはどんな種類がありますか

シェルスクリプトは、Linuxではbashが標準ですが、他にも、csh, ksh, zshなどがあります。

シェルスクリプトには方言のようなものがあり、各Unix/Linux OSで、標準のシェルが異なっています。

シェルスクリプトとPerlはどのように使い分けるべきですか?

シェルスクリプトは、シェルを自動化する仕組みで、Linuxコマンドをそのまま使えます。

覚え慣れた、Linuxコマンドを、そのまま記述できるので簡単です。

その反面、汎用的なプログラミング言語として利用する場合には、プログラムが大きくなってくると、辛さが増してきます。

このプログラムって、Perlで書いた方が、保守性も実行速度もよいんじゃないの!?

そう感じたときは、Perlを試してみる機会です。

後で保守する人のために、以下の記述を忘れずに。

use strict;
use warnings;