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

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

ivker_lee5年前 (2020-09-04)技术文章272
#!/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

分享给朋友:

相关文章

CentOS8系统优化脚本

CentOS8系统优化脚本

网上看到的一个CentOS8的系统优化脚本,写的挺好的。抄录一下。https://www.cnblogs.com/zxl1024320609/p/16715018.html color () {         RES_COL=60         MOVE_TO_COL="echo -en&n...

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

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

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

Centos7学习笔记(二十一)- nginx的rewrite

Centos7学习笔记(二十一)- nginx的rewrite

一、什么是rewriterewirte就是实现Url地址重写,以及重定向,就是把传入的web请求重定向到其他URL的过程。二、rewrite的使用场景a、url地址的跳转。比如访问www.example.com/test,重定向到test.example.com网址。b、协议的跳转,主要的就是实现http协议跳转到https页面去。c、实现网站的伪静态。伪静态就是将网站动态页面的诸多参数,显示为一种静态页面的方式,以便于搜索引擎记录,减少URL地址暴露过多参数,提高安全性。d、通过上述伪静态,产...

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

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

1、rsync作为一个同步(备份,增量备份)命令,它的选项非常的多,常用的组合是avz,当然,如果需要建立备份服务,那么-n必然是用的多的参数选项。关于rsync的用法详细说明,参考网上的这篇原文链接:https://www.cnblogs.com/f-ck-need-u/p/7220009.html#blog21,文章写的非常好,有大量的通俗易懂的例子及解释。以下关于rsync参数选项的说明,就抄录自该文章。v:显示rsync过程中详细信息。可以使用"-vvvv"获取更详细...

记一次大的折腾经历

记一次大的折腾经历

前两天想随手记一下学习exchange2019的知识点,就随手打开了自己博客的后台。先是看见zlog-php程序有版本升级的提示(升级到1.70),也有升级“数据库结构”的提示,没多想,就随手各都点了“升级”。然后新建完文章,保存的时候,出现错误。然后,并发现后台首页,在“清空缓存并重新编译模块”也会出现“操作失败”的错误。在其他更换“主题”,或者重新提交“网站设置”,都会出现上述或者类似错误。一开始完全不知道怎么解决,以为是zblog-php版本随意就升级了,带来的问题,然后去zblog论坛查...

Centos7学习笔记(二十二)- HTTPS

Centos7学习笔记(二十二)- HTTPS

一、http劫持原理首先通过dns污染,将访问的目标服务器,解析到问题服务器。问题服务器上,做nginx代理,利用sub_filter模块,可以匹配并替换原目标服务器上的部分(或全部)内容,以达到广告发布、挂马等目的。最好的防范措施是hosts直接解析,防止污染。二、https原理http原理具体来说,是很复杂的。这里仅简单描述一下它的大致流程——网站服务器先通过向“登记机构”发起“证书签名申请”(CSR),CA机构在获取CSR后,确认无误,将证书颁发给网站服务器,其证书还包括公钥和私钥内容。网...

发表评论

访客

看不清,换一张

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