shell备份文件、重命名文件、删除指定文件的3个脚本分享
因为经常会用到shell脚本,所以经常会写一些,但是我从来没有系统的学习过shell脚本,遇到问题,就去看手册,或者google一下,到了一定的程度才发现自己的基础真的好差。下面在系统学习shell时,顺便写了点有用的小脚本。
1,备份目录下面文件
#!/bin/bash E_BADARGS=65
case$#in //$#表示转入参数的个数,shbak.sh./.sh有二个参数./和.sh 0) //参数为空时,提示错误,并且退出 echo"message:paramiswrong" exit$E_BADARGS;; esac
string=""
cd$1 //进入传入的目录
//备份子目录中的文件时,参数也要接上 if[$#-gt"1"] then string=$string""$2 fi
forfilenamein* //读取当前目录中的文件 do if[-d"$filename"] //判断一下是不是目录 then /bin/sh/home/zhangy/test/$0$(pwd)/$filename$string //是目录的话,进行递归 else if[$#-gt"1"]&&[${filename:(-${#2})}=$2] //指定备份什么样的文件 then cp$filename$filename"bak" fi if[$#-eq"1"] then cp$filename$filename"bak" //没指定,备份目录下面的所有文件 fi fi done exit0