ファイルタイプと許可属性を調べる関数

関数名 Chk_File
書式 Chk_File オプション ファイル
目的 指定ファイルのファイルタイプと許可属性を調べる
戻り値 条件に一致する:0 条件に一致しない:1 エラー9:
引数にオプションとファイル名を渡して実行すると
getoptコマンドとcase文を使って指定したファイルをチェックする

Chk_File () {
    . Error_Msg.sh && . Arg_Nums.sh ||\
    { echo "Char_Type: error: Function not found." 1>&2; exit 9; }
    Arg_Nums -eq 2 "$@" ||\
    { Error_Msg Chk_File "Number of Arguments was wrong..."; exit 9; }
    
    local _DIR= 
    local OPTIND= 
    
    #オプションから条件文を生成する
    while getopts ":drwx" OPT; do
        case $OPT in
            d)  [ -d "$2" ] || return 1 && _DIR=1 ;;
            r)  [ -r "$2" ] || return 1 ;;
            w)  [ -w "$2" ] || return 1 ;;
            x)  [ -x "$2" ] || return 1 ;;
            *)  Error_Msg Chk_File "Wrong options found."
                exit 9 ;;
        esac    
    done
    
    #ディレクトリと明示されなければファイルとして扱う
    if [ "$_DIR" != 1 ]; then
        [ -f "$2" ] || return 1
    fi  
}