株式会社ラクス  ITエンジニア総合支援サイト スタックアスタリスク フルマネージド専用サーバー エクスユニット
ITエンジニアとして 知る 学ぶ
 
Java
.NET
PHP
プログラミング一般
DataBase
システム/サーバ構築
システム/サーバ運用
技術系一般知識
 
 
>IT技術情報>システム/サーバ運用>0からのbash 第2回:対話的シェルの使用法4.bash初期化スクリプト
【連載】 0からのbash 第2回:対話的シェルの使用法  

【 ページ 】 | 1 | 2 | 3 | 4 |

<<前のページへ

4.bash初期化スクリプト

今までにご紹介したbashのエイリアス機能や関数は、一度設定さえすれば、命令の実行作業が楽になり便利です。ただ、いったんログアウトしてしまうと、せっかく設定したエイリアスや関数が、再ログイン時には使用できなくなり、もう一度ログイン後設定しなおさないといけなくなります。
こういう時、bashの初期化スクリプトと呼ばれる実行ファイル(テキスト形式)に、事前にエイリアスや関数を設定しさえすれば、再度ログインしなおす時も問題なく、エイリアスや関数を使用できます。

以下に、ログインシェルであるbashが起動時、どのような流れで初期化を行っているのかについて説明したいと思います。

  1. ユーザがログイン画面からユーザ名・パスワードを入力してログインに成功すると、通常Linuxのデフォルトのログインシェルである”bash”が起動します。
  2. ログインシェルである”bash”は、まず”/etc/profile”のシェルスクリプトを読み込んで実行します。この初期化スクリプトは全てのユーザに影響与えるグローバルなbashの初期設定が記述されています。
  3. 次に、”/etc/profile”スクリプトによって、”/etc/profile.d/”ディレクトリ以下にある全てのシェルスクリプトが実行されます。
  4. 次に、ログインユーザのホームディレクトリ直下の”~/.bash_profile”スクリプトが実行されます。このスクリプトはログインシェルにしか読み込まれません。そのため、ログイン時に各ユーザのシェル環境のカスタマイズを行いたい場合、このファイルに処理(コマンド)を記述します。
  5. 次に、”~/.bash_profile”スクリプトによって、”~/.bashrc”スクリプトが読み込まれ実行されます。このスクリプトは、ログインシェルのみならず、非ログインシェルの起動時にも読み込まれるファイルになります。このファイルもまた、ユーザのシェル環境のカスタマイズを行う際、よく利用されます。(非ログインシェルにも必ず反映させたい処理を記述する場合、このファイルを利用します。)
  6. 最後に、”~/.bashrc”スクリプトによって、”/etc/bashrc”スクリプトが読み込まれ実行されます。このファイルは”/etc/profile”と同様、ユーザ全体に影響をあたえるグローバルな設定をするものになります。

少し、細かい説明が続きましたが、ここで特に押さえていただきたい点は、各ユーザが使用するログインシェル(ここではbashのみ対象)の環境をカスタマイズさせたければ、”~/.bash_profile”もしくは”~/.bashrc”に記述すれば良いという事です。その他に関しては、参考程度で記憶に留めておいていただくだけで十分です。

では、実際に、以前設定したエイリアスと関数を再ログイン時にも使用できるように、bashの初期化スクリプト(今回は”~/.bash_profile”)に記述します。以下のコマンドを実行して下さい。

vi ~/.bash_profile

以下の内容を”~/.bash_profile”の最終行に追記して保存終了して下さい。

alias lsd=’ls -ld’
lsfloppy ()
{
  mount /mnt/floppy
  ls -l /mnt/floppy/*
  umount /mnt/floppy
}

この設定をするだけで、毎回ログイン時に”lsd”エイリアスと”lsfloppy”関数をコマンドのように使用することができます。

ちなみに、自分が使用するコマンドが実際は何にあたるのかを確認する”type”コマンドというものがあります。
以下を実行してみて下さい。

type lsfloppy

すると、以下のような出力が得られます。

lsfloppy is a function
lsfloppy ()
{
  mount /mnt/floppy;
  ls --color=tty -l /mnt/floppy/*;
  umount /mnt/floppy
}

この出力結果から、”lsfloppy”というコマンドは、実際にはbash上で設定されている関数を呼び出して実行している事が分かります。

次回からは、bashが持つもう一つの側面、シェルスクリプトについてご紹介したいと思います。



▼Java や Linux を体系的に学びましょう!▼
Stack*のラクスが、
新学習方式のカリキュラムを開発しました!
14700円から(*1)、Java や Linux を体系的に学べます!!
(*1 テキスト代のみの税込料金です)




●この記事はあなたのお役に立ちましたか?
非常に役に立った
役に立った
どちらでもない
役に立たなかった
全く役に立たなかった

●ご意見・ご感想があればご記入ください。



【 目次 】
1.bashのコマンドライン入力履歴
2.エイリアス
3.関数
4.bash初期化スクリプト

【 関連記事 】
0からのbash
第1回:対話的シェルの使用法
第2回:対話的シェルの使用法
第3回:シェルのプログラミング的側面(シェルスクリプト)

サイト内全文検索
スタックアスタリスクのサイトを検索します。検索には、Googleを利用しています。そのため、最新の情報で検索されない可能性があります。


簡単レンタルメールフォーム
300メガ1000円〜 XBitのレンタルサーバー
500メガ1995円〜 電話サポート/PostgreSQL/専用SSLなどにも対応!お客様のニーズを網羅したレンタルサーバ
ホームページ制作のアシストウェブ
STACK* 執筆の講師陣から習得する!! ITエンジニアスクール アイティブースト
統合メールサポートシステム 〜MailDealer(メールディーラー)〜
システム開発,IT教育 〜株式会社アイティーブースト(ITBoost)〜
簡単 営業支援/顧客管理ツール Easy Sales
  利用規約 お問い合わせ・ご意見 スタックアスタリスクについて 運営会社について 
  レンタルサーバー ホスティング 専用サーバー メールフォーム ショッピングカート メール共有 ITエンジニア派遣 Linux講座 Java講座 メール配信 レンタルサーバー Webデータベース 検索サービス
CopyrightcRAKUS Co.,Ltd. All Rights Reserved.  メール管理・共有 顧客管理(CRM)もできるメール対応サポートシステム JAVA LINUX CISCO 技術者派遣 育成事業 株式会社ラクス