用shell脚本实现递归创建目录

用shell脚本实现递归创建目录,相当于mkdir -p /tmp/a/b/c/d/e

代码:

[root@localhost ~]# cat mkdir_recursive.sh 
#!/bin/sh

mkdir_recursive()
{
        if [ -z $1 -o $1 = "/" ]; then
                return
        fi

        parent_dir=`dirname $1`
        mkdir_recursive $parent_dir

        if [ ! -d $1 ]; then
                echo "mkdir $1"
                mkdir $1 || exit -1
        fi
}


mkdir_recursive $1

[root@localhost ~]# 


执行结果:
[root@localhost ~]# ls /tmp/a
ls: /tmp/a: 没有那个文件或目录
[root@localhost ~]# ./mkdir_recursive.sh /tmp/a/b/c/d/e
mkdir /tmp/a
mkdir /tmp/a/b
mkdir /tmp/a/b/c
mkdir /tmp/a/b/c/d
mkdir /tmp/a/b/c/d/e
[root@localhost ~]# ls /tmp/a/b/c/d
e
[root@localhost ~]#

猜你喜欢

转载自cloudmail.iteye.com/blog/1520560
今日推荐