当前位置:首页 > 技术文章 > 正文内容

Centos7学习笔记(十三)- 一个解压用脚本的详细说明

ivker_lee5年前 (2020-09-04)技术文章274
#!/bin/bash
cd /home/tar
#ls出该目录下的文件,并导出所需文件名到file.log文件中
ls *.tar.gz >file.log
ls *.tgz >>file.log 2>/dev/null
ls *.tar.bz2 >>file.log 2>/dev/null
#统计file.log到底有多少文件
num=$(cat file.log|wc -l)
#for循环处理去解压
for ((i=1;i<="$num";i=i+1))
do
        bb=$(cat file.log|awk 'NR=='$i' {print $1}')
        #用if判断去处理不同的压缩文件
        #result=$(echo $bb|grep "bz2")
        #if [ -n "$result" ]         #此处,通过判断grep $bb的结果,是否为非空,来判定bz2文件
                           #补充说明,由于用[]来做的测试,那么$变量在此处需加双引号,加引号后,[]和[[]]相同
        #if [[ "$result" != "" ]]    #此句,同上一句方式一样,语句不同,注意[]和[[]]其实是一样的
        # if [[ "$bb" =~ bz2 ]]     #此处,是用操作符的方式匹配bz2,必须用[[]]方式
        if [ "$bb" == *bz2 ]        #此处,用通配符*的方式,去判断$bb是否为.bz2文件,此时,[]和[[]]相同
        then
                tar -jxvf $bb
        else
                tar -zxvf $bb
        fi
done
rm -f /home/tar/file.log

该脚本涉及到了对一个变量含有某字符串的三种判断方式,并且,说明了[]和[[]]在不同情况下的作用不同。


image.png


一般情况下,对变量做测试,尽量将其加双引号,将其视为字符串比较。具体使用建议,参见https://www.cnblogs.com/f-ck-need-u/p/7427357.html

image.png

分享给朋友:

相关文章

Centos7学习笔记(二)-基础命令(二)

Centos7学习笔记(二)-基础命令(二)

3、Linux基础命令1、date参数:-s  设置日期-d  display time described by STRING, not 'now'---用日期表示法的完整字符串(比如“1day”,“2month”,“1year”)来显示时间,但不准用“now”。实例如下:[root@ecs-ryCz8 /home/study]# date +%F -d "now" 2020-...

Centos7学习笔记(三)——重定向、通配符、正则

Centos7学习笔记(三)——重定向、通配符、正则

1、STDIN、STDOUT、STDERR输入重定向和输出重定向的符号和作用,分别在下面2个表中。注意:当输出结果是error时,是不能将结果重定向到“标准输出”中,反之,输出结果是“标准输出”,也不能重定向至错误输出中。如下图实例:[study@nfs01 ~]$sudo echo "00 1 * * * /usr/bin/rsync  -avz -r /etc/r...

Centos7学习笔记(五)-tmpfs和xfs

Centos7学习笔记(五)-tmpfs和xfs

介绍/dev/shm/是一个使用就是tmpfs文件系统的设备,其实就是一个特殊的文件系统。redhat中默认大小为物理内存的一半,使用时不用mkfs格式化。tmpfs是Linux/Unix系统上的一种基于内存的虚拟文件系统。tmpfs可以使用您的内存或swap分区来存储文件(即它的存储空间在virtual memory 中, VM由real memory和swap组成)。由此可见,tmpfs主要存储暂存的文件。它有如下2个优势 : 1. 动态文件系统的大小。2. tmpfs 使用VM建的文件系统...

Centos7学习笔记(九)- 基础系统优化

Centos7学习笔记(九)- 基础系统优化

本部分内容是针对运维管理过程中,为了达到规范、便捷、增强基础安全性等目的,而对初始安装的生产(也包括测试)用操作系统,做各项系统优化、规范工作。(持续更新。。。)1、做好服务器的用途规划(含IP规划)和磁盘目录(比如一般备份用的服务器,独立建立/data目录)2、如有必要,尽量做本地hosts解析;或者搭建本地dns解析服务器,所有非dns服务器dns指向该服务器。3、分组各服务器,各组指定更改yum源为不同的公网yum源(比如阿里源、163源、清华源等),如有可能,自行搭建yum源服务器,所有...

Centos7学习笔记(十)- rsync服务器搭建

Centos7学习笔记(十)- rsync服务器搭建

1、服务器端yum -y install rsyncsudo vim /etc/rsyncd.conf##全局配置参数## uid = rsync gid = rsync fake super = yes use chroot = no max connections = 200 timeout = 600 #motd fi...

 Centos7学习笔记(十一)- nfs服务器搭建

Centos7学习笔记(十一)- nfs服务器搭建

nfs服务本质上是通过rpc调用提供服务的,所以,其依赖rpcbind程序相关组件运行。而且,rpc服务必须先启动,nfs服务才能正常使用。以下是安装配置:1、服务端a)安装软件yum -y install nfs-utils rpcbind                                    &nb...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。