【原】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