
___x_cmd_fprintf(){
    local append=""

    while [ $# -gt 0 ]; do
        case "$fp" in
            -a|--append)    append=1;   shift ;;
            *)              break ;;
        esac
    done

    local fp="$1";  shift

    ___x_cmd ensurefp "$fp"

    if [ -z "$append" ]; then       printf "$@" >   "$fp"
    else                            printf "$@" >>  "$fp"
    fi
}

___x_cmd_fprintf___create(){
    local fp="$1";  shift
    ___x_cmd ensurefp "$fp"
    printf "$@" >"$fp"
}

___x_cmd_fprintf___append(){
    local fp="$1";  shift
    ___x_cmd ensurefp "$fp"
    printf "$@" >>"$fp"
}

