Использование рекурсивной функции:
#!/bin/bash
mkdir_p() {
local path=$1
local parent=${path%/*}
[[ ${path} != /* ]] && parent=${PWD}/${parent}
[[ ! -d $parent ]] && mkdir_p "${parent}"
[[ ! -d $path ]] && mkdir "${path}"
}
mkdir_p "${1}"