RedHat系Linuxの起動ファイル |
YAMAMORI Takenori ●yamamori |
RedHat系Linuxは,起動時にコンソールに[ OK ]という緑色の メッセージを次々に表示しながらOSが立ち上がります. これを表示しているのは,/etc/rc.d/init.d/functionsの中で定義されている シェル関数のaction()(またはqaction(),daemon())です.
このaction()などのシェル関数はrcスクリプト中で頻繁に使用されており,また, 関数の呼び出し時には右側に「()」を付けずに単にactionなどと記述さているため, 通常コマンドと区別がつかず,rcスクリプトを読むのに苦労するかも知れません.
そこで,ためしにaction()などのシェル関数を手動で使ってみる方法を紹介します. 下図のように,bash上でfunctionsファイルを読み込み, 感じを出すために「Bringing up interface」というメッセージを付けて 実行するのです.なお,functionsを読み込むと,このシェル自身のPATHなどの設定が 変更されてしまうため注意して下さい.ここでの実行例は単なる遊びですが, まるで何らかの初期設定が行なわれているような雰囲気になります.
*図 action()などのシェル関数を,試しに手動で使っているところ ------------(action.gif)-------------------- +================ kterm ==================+ |bash$ . /etc/rc.d/init.d/functions | ← functionsを読み込む |bash$ action "Bring..." ls | ← ためしにlsコマンドでactionを実行 |Bringing up .... [ OK ] | ← 本物のように[ OK ]が表示された |bash$ action "Bring..." ls /nofile | ← /nofileをlsして失敗させてみる |Bringing up .. ls: /nofile: No such .. | ← エラーメッセージが邪魔だが… |[FAILED] | ← [FAILED]は表示された |bash$ qaction "Bring..." ls /nofile | ← この場合はqactionの方を使う |Bringing up .... [FAILED] | ← 本物のように[FAILED]の表示 |bash$ echo -n "Bring.."; daemon ls; echo | ← daemonを使う場合はこのようにする |Bringing up .... [ OK ] | ← こちらも本物そっくり | | | | ==========================================+ --------------------------------------------