zoukankan      html  css  js  c++  java
  • 【原】Shell脚本-判断文件有无进而复制

    2016年7月5日某同学在群上求助要编一个判断文件或目录在某路径下有无进而有的就复制粘贴到另一路径下,无的则将代码中断(不往下执行命令)的脚本。逐一完善。模板如下(生产环境可用到路径环境变量)

    ---------------------------------------------------脚本分割线-------------------------------------------
    [root@localhost sh]# vim efile.sh
    #! /bin/bash

    #2016年7月5日某同学在群上求助要编一个判断文件或目录在某路径下有无
    #进而有的就复制粘贴到另一路径下,无的则将代码中断(不往下执行命令)的脚本。
    #逐一完善。模板如下(生产环境可用到路径环境变量)

    NAME=$1

    #$1为脚本输入的第一个参数,也就是设想运行此脚本时,
    #后面直接会跟一个文件或目录名

    if [ -e /wwwroot/$NAME ] ; then
    cp -r -v /wwwroot/$NAME /bak/
    else
    echo "没有此文件或目录,脚本结束"
    exit
    fi

    #-e 条件为判断文件或目录有没有存在系统之中,有则成立,无则跳到else
    #cp -r 是递归复制目录,不加-r的话会在复制目录时出错
    #cp -v 为显示详细复制过程,我觉得应该给点反馈操作者故加上去
    #最后的exit为中断代码,如此下面的命令就不会执行了。

    echo "测试中断代码是否实现"
    echo "进行了复制粘贴操作"
    ----------------------------------------------操作分割线-----------------------------
    [root@localhost sh]# sh efile.sh test.txt
    /wwwroot/test.txt -> /bak/test.txt
    测试中断代码是否实现
    进行了复制粘贴操作
    [root@localhost sh]# sh efile.sh data
    没有此文件或目录,脚本结束
    [root@localhost sh]# sh efile.sh date
    /wwwroot/date -> /bak/date
    测试中断代码是否实现
    进行了复制粘贴操作
    ----------------------------------------操作证实脚本有效----------------------------

    by:铁乐猫
    2016-7-6

  • 相关阅读:
    随机发牌 代码
    网络传输 buf 封装 示例代码
    简易数据库实现 UNIX环境高级编程(APUE)第二十章 A Database Library
    状态机学习(六)解析JSON2
    又一篇四则运算代码
    c++ stl源码剖析学习笔记(三)容器 vector
    c++ stl源码剖析学习笔记(二)iterator
    Linux系统编程(16)——正则表达式入门
    Linux系统编程(15)——shell脚本语法
    Linux系统编程(14)——shell常用命令
  • 原文地址:https://www.cnblogs.com/tielemao/p/5863606.html
Copyright © 2011-2022 走看看