makepath() { if $(( ${#1} -eq 0 || -d "$1" )) then return 0 # Do nothing fi # Check if arg is a simple path component: if [[ "${1%/*}" = "$1" ]] then mkdir $1 return $? fi makepath ${1%/*} || return 1 mkdir $1 return $? }