File: mkdir

package info (click to toggle)
roxen 1.2beta2-2
  • links: PTS
  • area: contrib
  • in suites: hamm
  • size: 16,948 kB
  • ctags: 8,589
  • sloc: ansic: 89,632; asm: 8,431; sh: 2,915; makefile: 1,787; cpp: 377
file content (50 lines) | stat: -rwxr-xr-x 825 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/bin/sh
# $Id: mkdir,v 1.2 1997/08/18 01:21:07 grubba Exp $
#
# Make a directory and all it's parents.
# this is how mkdir works on most systems, but not all.

for a in $@ ; do
  case $a in 
    --help)
cat <<EOF
Usage: mkdir [OPTION] DIRECTORY...
 
  -p, --parents     no error if existing, make parent directories as needed
      --help        display this help and exit
      --version     output version information and exit
EOF
      exit
    ;;
    --version)
      echo Per hacks 0.0
      exit
    ;;
    -p)
      recurse=1;
    ;;
    /*)
      dname=$a
      dir=""
    ;;
    *)
      dname=$a
      dir="."
    ;;
  esac
done

if [ x$recurse = x ] ; then
  /bin/mkdir $dname
  exit $?
fi

IFS='/'

for a in $dname; do
  IFS=' '
  dir="$dir/$a"
  if [ ! -d $dir ] ; then
    /bin/mkdir $dir || exit 1
  fi
done