shell脚本练习1

前几天面试,有shell脚本要求,很久没复习到了,今天开始练习。

遍历某目录(本题创建的是~/data)下的txt文件,将这些文件做一个备份,备份的文件名增加一个日期后缀,如将w1.txt备份为w1.txt_20231011

#!/bin/bash
#author:tongby
#date:2023-10-11
##后缀变量
suffix=`date +%Y%m%d`

##找到所需目录文件,for遍历
for f in `find ~/data/ -type f -name "*.txt"`
do
    echo "备份文件$f"
    cp ${f} ${f}_${suffix}
done

结合我们常用的Linux命令理解很容易,查找文件find,拷贝文件cp,$+定义的变量值进行拼凑。执行脚本前,一般先进行权限修改

chmod a+x etv1.sh

执行方法

1.

./etx1.sh

2.

bash etx1.sh

在练习的时候我们可以加-n检测语法是否出现错误

我们也可以看脚本执行过程

# bash -x etv1.sh
++ date +%Y%m%d
+ suffix=20231011
++ find /root/data/ -type f -name '*.txt'
+ for f in '`find ~/data/ -type f -name "*.txt"`'
+ echo 备份文件/root/data/w1.txt
备份文件/root/data/w1.txt
+ cp /root/data/w1.txt /root/data/w1.txt_20231011
+ for f in '`find ~/data/ -type f -name "*.txt"`'
+ echo 备份文件/root/data/w2.txt
备份文件/root/data/w2.txt
+ cp /root/data/w2.txt /root/data/w2.txt_20231011
+ for f in '`find ~/data/ -type f -name "*.txt"`'
+ echo 备份文件/root/data/w.txt
备份文件/root/data/w.txt
+ cp /root/data/w.txt /root/data/w.txt_20231011

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值