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などがあります。
シェルスクリプトには方言のようなものがあり、各Linux OSで、標準のシェルが異なっています。
シェルスクリプトとPerlはどのように使い分けるべきですか?
シェルスクリプトは、シェルを自動化する仕組みで、Linuxコマンドをそのまま使えます。
覚え慣れた、Linuxコマンドを、そのまま記述できるので簡単です。
その反面、汎用的なプログラミング言語として利用する場合には、プログラムが大きくなってくると、辛さが増してきます。
このプログラムって、Perlで書いた方が、保守性も実行速度もよいんじゃないの!?
そう感じたときは、Perlを試してみる機会です。
後で保守する人のために、以下の記述を忘れずに。
use strict; use warnings;