ユーザー名・ユーザーIDの判定をする関数

関数名 User_ID
書式 User_ID 比較ユーザー名またはユーザーID
目的 比較ユーザー名または比較ユーザーIDを指定して
スクリプトの実行ユーザーのものと比較する
戻り値 実行ユーザーと一致する:0 一致しない:1 エラー9:
一部のユーザー(rootなど)でしか実行できないようなシェルスクリプト
実行する前にユーザーを調べて実行を許可または拒否する場合に使う

User_ID () {
    . Error_Msg.sh && . Char_Type.sh && . Arg_Nums.sh ||\
    { echo "User_ID: error: Function not found." 1>&2; exit 9; }
    Arg_Nums -eq 1 "$@" ||\
    { Error_Msg User_ID "Number of Argments was wrong."; exit 9; }
    
    local _CUSER=

    #比較ユーザーの指定形式を判定   
    Char_Type $1
    case $? in
        1) _CUSER=$UID ;;
        *) _CUSER=$USER ;;
    esac
    
    #現ユーザーと比較ユーザーの比較と判定
    if [ "$_CUSER" = "$1" ]; then
        return 0
    else
        return 1
    fi
}