ためになるホームページ お問い合わせ




TOP > シェルスクリプト > シェル関数
シェル関数
ある処理を一つルーチンとして記述する事ができる(シェル関数)。
(書式)
シェル関数名 ( ) {
  #処理
}
シェル関数を呼び出すには、関数名の後に引数を繋げる。シェル関数が受け取った引数は、シェル関数内の位置パラメータに割り当てられる。この時、$1〜に割り当てられ$0はシェルスクリプト名となる。

シェル関数の例
#!/bin/bash
func_test ()
{
  echo "$1" #引数を表示
}

func_test $0 # func_test関数に引数を渡す


戻り値を使う
シェル関数の戻り値を、呼び出し元で参照する事ができる。シェル関数内で戻り値と指定するには、「return」コマンドを使う。
returnコマンドを指定しなかった場合は、シェル関数内の最後のコマンドが戻り値となる。また、呼び出し元で戻り値を参照するには、"$?"で参照する。

returnの例
#!/bin/bash

func_test ()
{
  if [ $1 -eq 1 ]; then
    return 1
  else
    return 0
  fi
}

func_test 1 

echo $?


シェル関数を外部ファイルに
シェル関数を外部ファイルに記述し、シェルスクリプト内から参照する事ができる。コードを最適化する際に使用するとよい。
外部ファイルを読み出すには、
. 外部ファイル名

外部ファイルの読み込みの例
#!/bin/bash
. func_shell #外部ファイルの読み込み

func_test 1 


#以下は、func_shellファイルの内容
func_test ()
{
  if [ $1 -eq 1 ]; then
    echo "ok!"
  else
    echo "no!"
  fi
}







Copyright 2007 ためになるホームページ All Rights Reserved.