[ ] [ ] [ トップページ ] [ 目次 ] [ Linuxの概要 ] [ 基本的な操作 ] [ 日本語の扱い ] [ テキスト編集 ] [ システム管理 ] [ シェルスクリプト ] [ インストール作業の基本 ] [ データベース ] [ 各種リファレンス ]  
[ バッチファイルとの違い ] [ シェルスクリプトの基本 ] [ シェルスクリプトを読んでみる ]

シェルスクリプトを読んでみる

Linux自身に多数のシェルスクリプトがある。
それを読み内容を理解すれば,シェルスクリプトの動作とLinuxの動作の両方を一緒に理解できる。

Linux自身のシェルスクリプト

  • 初期化スクリプト
    RedHat Linuxは/etc/rc.dディレクトリの下にシステム初期化用のスクリプトが多数ある。
    その内容はこちらを参照。

シェルスクリプトの例

/etc/rc.d/init.d/snmpd
#!/bin/bash  <-- /bin/bashを使ってこのスクリプトファイルを実行する
# cmu-snmp init file for snmpd
#
#
# chkconfig: - 40 40
# description: Simple Network Management Protocol (SNMP) Daemon
#
# processname: snmpd
# config: /etc/snmpd.conf

# source function library
. /etc/rc.d/init.d/functions <-- このファイル中に定義されている変数や関数の内容を読込む

case "$1" in  <-- 1番目のパラメータの値によって処理内容を変える
  start)      <-- 1番目のパラメータの値が'start'だった場合の処理内容
        echo -n "Starting snmpd: "
        daemon /usr/sbin/snmpd -f  <-- /etc/rc.d/init.d/functions中で定義されている関数deamonを呼び出す
        touch /var/lock/subsys/snmpd  
        echo
        ;;
  stop)       <-- 1番目のパラメータの値が'stop'だった場合の処理内容
        echo -n "Shutting down snmpd: "
        killproc snmpd  <-- /etc/rc.d/init.d/functions中で定義されている関数killprocを呼び出す
        rm -f /var/lock/subsys/snmpd
        echo
        ;;
  restart)    <-- 1番目のパラメータの値が'restart'だった場合の処理内容
        $0 stop   <-- このコマンドにstopというパラメータを渡して実行
        $0 start  <-- このコマンドにstartというパラメータを渡して実行
        ;;
  status)     <-- 1番目のパラメータの値が'status'だった場合の処理内容
        status snmpd
        ;;
  *)          <-- 1番目のパラメータの値が上記のいずれにも該当しない場合の処理内容
        echo "Usage: snmpd {start|stop|restart|status}"
        exit 1
esac

exit 0
 

  
WB00806_.gif (471 バイト)
Copyright(C) 1997-1999 GlassCom
webmaster@glasscom.com