diff --git a/lrztar b/lrztar index 71cc375..ced7b9d 100755 --- a/lrztar +++ b/lrztar @@ -76,7 +76,6 @@ Notice: i+="/${vopt[v_d]##*/}" i="${i%.tar.*}" ((v_O)) && { - mkdir -p "${vopt[v_O]}" &> /dev/null for x in ${!p[@]};do [ "${p[x]}"x == "-O"x ] && { p[x]= @@ -92,7 +91,11 @@ Notice: return 1 } if ((v_O)); then - mkdir -p "$i" &> /dev/null + if ! [[ -d $i ]]; then + printf "lrztar: %s output path does not exist.\n"\ + "$i" + return 1 + fi else i="./" fi @@ -111,7 +114,18 @@ Notice: } else if ((v_O)); then - ((v_f)) && mkdir -p "${vopt[v_O]}" &> /dev/null + if ! [[ -d ${vopt[v_O]} ]]; then + printf "lrztar: %s output path does not exist.\n"\ + "${vopt[v_O]}" + return 1 + fi + if [[ $(shopt -s nullglob; + shopt -s dotglob; + echo "${vopt[v_O]}"/*) ]] && ! ((v_f)); then + printf "lrztar: %s output path is not empty.\n"\ + "${vopt[v_O]}" + return 1 + fi for x in ${!p[@]};do [ "${p[x]}"x == "-O"x ] && { p[x]=