
# shellcheck disable=SC2016

___x_cmd_first_(){
    local op="$1";  shift
    case "$op" in
        -f|file)        op=-f   ___x_cmd_first___exec   "$@"    ;;
        -d|folder)      op=-d   ___x_cmd_first___exec   "$@"    ;;
        -e|existed)     op=-e   ___x_cmd_first___exec   "$@"    ;;
        *)                      ___x_cmd_first___exec   "$@"    ;;
    esac
}

___x_cmd_first___exec(){
    if [ $# -eq 0 ]; then
        while read -r x_; do
            ! test "$op" "$x_" || {
                return 0        # I doubt it may result in pipe fail in some occassion. It happened in gitb.
            }
        done
    else
        while [ $# -gt 0 ]; do
            ! test "$op" "$1" || {
                x_="$1"
                return 0
            }
            shift
        done
    fi
    x_=
    return 1
}
