diff options
Diffstat (limited to 'ensure-dir.sh')
-rwxr-xr-x | ensure-dir.sh | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/ensure-dir.sh b/ensure-dir.sh new file mode 100755 index 0000000..34f03ac --- /dev/null +++ b/ensure-dir.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +pathname=$1 +mode=$2 +OLDIFS="${IFS}"; IFS=/; set $pathname; IFS="${OLDIFS}" + +case $pathname in + /*) partial=/; ;; + *) partial=""; ;; +esac + +for i do + case i in "") continue; ;; esac + partial="${partial}${i}" + if [ ! -d ${partial} ]; then + mkdir ${partial} || exit 1; + chmod ${mode} ${partial} + fi + partial="${partial}/" +done + |