#!/bin/bash
#define functionNames
FUNC_NUM_INIT=0
FUNC_NUM_NOTICE=1
FUNC_NUM_GET_PARAM=2
FUNC_NUM_FINALIZE=3
FUNC_NAMES=(func_init func_notice func_getparam func_finalize)
#define parametars
current_mode=0
prev_mode=65535
function change_mode(){
local next_mode=$1
prev_mode=${current_mode}
current_mode=${next_mode}
return 0
}
function exec_mode(){
case ${FUNC_NAMES[${current_mode}]} in
${FUNC_NAMES[${FUNC_NUM_INIT}]})\
echo "init"; \
change_mode ${FUNC_NUM_NOTICE};\
;;
${FUNC_NAMES[${FUNC_NUM_NOTICE}]}) \
echo "notice";\
change_mode ${FUNC_NUM_FINALIZE}; \
;;
${FUNC_NAMES[${FUNC_NUM_FINALIZE}]})\
echo "finalize";\
return 255;\
;;
*)\
echo "erregal param"; \
return 255;\
;;
esac
return 0;
}
function main(){
local ret=0
while [ ${ret} -ne 255 ];do
exec_mode
ret=$?
done
return ${ret}
}
#main関数の実行
main
最終更新:2010年09月25日 00:33