`
cloudmail
  • 浏览: 267634 次
  • 来自: 广州
社区版块
存档分类
最新评论

用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 ~]#
分享到:
评论

相关推荐

    shell脚本判断文件夹或目录是否存在,不存在则创建新文件夹或目录.sh

    shell自动化脚本,自动判断文件夹(目录)是否存在,如不存在自动创建,可执行,下载可测试

    Shell脚本学习笔记

    2.1 创建脚本与使用变量 54 2.1.1 创建脚本 54 2.1.2 使用变量 55 2.2 重定向输入输出与数学计算 57 2.2.1 输出重定向 57 2.2.2 输入重定向 58 2.2.3 管道 58 2.2.4 数学计算 58 2.3 退出脚本 60 第3章 结构化命令 ...

    junk命令 shell编程

    用junk替代rm功能,删除时不直接删除,而是将待删除内容移动到/trash目录中。要求:①junk默认只能删除文件不能删除目录,而且若无法删除时要给出相应信息;②提供-r选项,通过-r可以递归删除目录;③-f选项:直接...

    Advanced Bash-Scripting Guide <>

    1. 为什么使用shell 编程 2. 带着一个Sha-Bang 出发(Sha-Bang 指的是#!) 2.1. 调用一个脚本 2.2. 初步的练习 第二部分. 基本 3. 特殊字符 4. 变量和参数的介绍 4.1. 变量替换 4.2. 变量赋值 4.3. Bash 变量是不分...

    WinCE脚本解析程序(写写文本就能做很多意想不到的事情)

    使用C语言和Windows API编写,作了一些特殊处理以同时支持WinCE5和WinCE6,主要实现shell中的功能,提供的各种操作涉及到文件系统、窗口管理、进程管理和流程控制几个方面,通过解析配置文件内容来执行相应的操作,...

    Android代码-multiple-apk-generator

    轻量级: 使用shell脚本编写,方便开发者修改实现逻辑 基于gradle打包apk 使用说明 注: 需要依赖shell环境,mac和linux可以直接使用;如果是windows需要装模拟linux环境的shell工具(xshell、cygwin) 1. 把multiple-...

    backup:用于在Web服务器上备份和还原数据库和文件的Shell脚本

    使用适当的配置值从config-sample.json创建config.json 。 保护config.json 。 &gt; chmod 600 config.json 对于PostgreSQL,必须将.pgpass文件以及数据库用户名和密码放置在用户主目录中。 请参阅。 对于Mys

    Linux高级bash编程

    非官方的Shell脚本风格 33. 杂项 33.1. 交互式和非交互式的shells和脚本 33.2. Shell 包装 33.3. 测试和比较: 另一种方法 33.4. 递归 33.5. 彩色脚本 33.6. 优化 33.7. 各种小技巧 33.8. 安全话题 ...

    Ubuntu入门(一) Shell操作 VIM文本编辑 Linux文件系统

    目录1.常用Shell命令2.APT下载3.VIM文本编辑4.Linux文件系统4.1.Linux文件系统结构4.2.Linux常用文件操作命令4.3.文件压缩&解压缩命令4.4.文件查询&搜索4.5.文件类型 1.常用Shell命令 ls:目录信息查看命令,主要...

    一个简单的linux命令 cp

    但是如果是在shell脚本中执行cp时,没有-i参数时不会询问是否覆盖。这说明命令行和shell脚本的执行方式有些不同。 命令格式 cp [选项]… [-T] 源 目的 命令参数 -a, –archive 等于-dR –preserve=all –backup[=...

    UbuntuChina12

    5.9 创建目录 121 5.10 移动目录 121 5.11 复制目录 121 5.12 删除目录 122 5.13 比较文件之间的差别 123 5.13.1 使用diff命令比较两个 ??文件 123 5.13.2 使用diff3命令比较3个 ??文件 123 5.14 从系统中检索文件 ...

    b4sh:一些个人 bash 脚本

    b4sh - 一些个人 bash 脚本要安装,请将 repo 克隆到您的主目录,然后将其添加到您的 bash 配置文件中: export B4SH_PATH=~/b4shsource $B4SH_PATH/all.sh要添加您自己的递归脚本,请在 sh 目录中创建它们,然后...

    CETool(最新2013.8)

    使用C语言和Windows API编写,作了一些特殊处理以同时支持WinCE5和WinCE6,主要实现shell中的功能,提供的各种操作涉及到文件系统、窗口管理、进程管理和流程控制几个方面,通过解析配置文件内容来执行相应的操作,...

    Ubuntu权威指南(2/2)

    5.9 创建目录 121 5.10 移动目录 121 5.11 复制目录 121 5.12 删除目录 122 5.13 比较文件之间的差别 123 5.13.1 使用diff命令比较两个 ??文件 123 5.13.2 使用diff3命令比较3个 ??文件 123 5.14 从系统中检索文件 ...

    Ubuntu权威指南(1/2)

    5.9 创建目录 121 5.10 移动目录 121 5.11 复制目录 121 5.12 删除目录 122 5.13 比较文件之间的差别 123 5.13.1 使用diff命令比较两个 ??文件 123 5.13.2 使用diff3命令比较3个 ??文件 123 5.14 从系统中检索文件 ...

    dropbox-sync:Dropbox 的 CLI 客户端

    它是用 BASH 脚本语言编写的,只需要cURL 。 特征 跨平台 支持官方的Dropbox API 无需密码或存储密码 简单的逐步配置向导 简单和分块的文件上传 文件和递归目录下载 文件和递归目录上传 Shell通配符扩展(仅用于...

    精通Windows.API-函数、接口、编程实例.pdf

    4.3.3 创建目录 96 4.3.4 获取程序所在的目录、程序模块路径,获取和设置当前目录 97 4.3.5 查找文件、遍历指定目录下的文件和子目录 100 4.3.6 递归遍历目录树 103 4.3.7 获取、设置文件属性和时间 105 ...

    bash-img-converter:递归bash图像转换器

    该脚本使用ImageMagick Wich是大多数Linux发行版的一部分。 如果您没有安装ImageMagick,则可以在获取 怎么运行的 脚本和脚本配置为转换给定路径中的所有图像。 您可以提供路径(例如./public)和类型(例如jpg),...

    Linux指令一周通 (技术图书大系).azw3

    文件格式为azw3,文字版本,可以用kindle阅读,PC端可以用calibre,可以转成epub所有手机阅读软件都支持,对手机的排版支持还不错. 内容目录 第1天 文本操作指令 1.1 ar 指令:创建、修改或从档案文件中提取文件 1.2 ...

Global site tag (gtag.js) - Google Analytics