• Shell基础练习2


    目录

    1.练习

    1.1 测试 gzip

     1.2 测试 bzip2

     1.3 测试 xz

    2.练习

    2.1 测试(全部测试过了)

    3.练习

    3.1测试

    4.练习

     4.1 测试


    1.练习

    写一个脚本,完成如下功能 传递一个参数给脚本,此参数为gzip、bzip2或者xz三者之一;
    (1) 如果参数1的值为gzip,则使用tar和gzip归档压缩/etc目录至/backups目录中,并命名为/backups/etc-20160613.tar.gz; tar -czvf /backups/etc-20160613.tar.gz /etc/*
    (2) 如果参数1的值为bzip2,则使用tar和bzip2归档压缩/etc目录至/backups目录中,并命名为/backups/etc-20160613.tar.bz2; j
    (3) 如果参数1的值为xz,则使用tar和xz归档压缩/etc目录至/backups目录中,并命名为/backups/etc-20160613.tar.xz; J
    (4) 其它任意值,则显示错误压缩工具,并执行非正常退出;

    echo "1)gzip压缩格式"
    echo "2)bzip2压缩格式"
    echo "3)xz压缩格式"
    read -p "请输入你需要的压缩格式编号:" Format
    read -p "请输入你要压缩的目录或文件:" Dir
    read -p "请输入你要存放压缩包的位置:" Location

    case $Format in
      1)
        tar -zcvf $Location-$(date +"%F%T").tar.gz  $Dir &>/dev/null
        ;;
      2)
        tar -jcvf $Location-$(date +"%F%T").tar.bz2 $Dir &>/dev/null
        ;;
      3)
        tar -Jcvf $Location-$(date +"%F%T").tar.xz  $Dir &>/dev/null
        ;;
      *)
      echo "没有指定压缩格式"
      ;;
    esac

     

    1.1 测试 gzip

     1.2 测试 bzip2

     1.3 测试 xz

    2.练习

    编一个shell编写一个shell程序,使用shell编写一个菜单,分别实现列出以下内容:
    (1)显示目录内容
    (2)切换目录
    (3)创建文件
    (4)编辑文件
    (5)删除文件的功能
    提示用户从键盘输入目录名称和文件名称

    #!/bin/bash
    #编一个shell编写一个shell程序,使用shell编写一个菜单,分别实现列出以下内容:
    #(1)显示目录内容
    #(2)切换目录
    #(3)创建文件
    #(4)编辑文件
    #(5)删除文件的功能
    #提示用户从键盘输入目录名称和文件名称

    echo "1)显示目录内容"
    echo "2)切换目录"
    echo "3)创建文件"
    echo "4)编辑文件"
    echo "5)删除文件的功能"

    read -p "请选择需要的功能:" menu

    if [ "$menu" -eq 1 ];then
      read -p "请输入显示目录的路径:" Dir
              `ls -l $Dir`
    elif [ "$menu" -eq 2  ];then
      read -p "请输入切换目录的路径:" Dir
            `cd $Dir`
    elif [ "$menu" -eq 3  ];then
      read -p "请输入创建文件的路径:" Dir
              `touch $Dir`
    elif [ "$menu" -eq 4  ];then
      read -p "请输入编辑文件的路径:" Dir
      read -p "请输入需要编辑的内容:" Content
              `echo $Content >> $Dir`
    else
      read -p "请输入删除文件的路径:" Dir
              `rm -f $Dir`
    fi

    2.1 测试(全部测试过了)

    3.练习

    判断当前主机的CPU生产商,其信息在/proc/cpuinfo文件中vendor_id一行中。

    如果其生产商为GenuineIntel,就显示其为Intel公司;

    如果其生产商为AuthenticAMD,就显示其为AMD公司;

    否则,就显示无法识别;

    cpu=`cat /proc/cpuinfo | grep vendor_id | cut -d " " -f 2 `
    if [ "$cpu" = "GenuineIntel" ];then
      echo "Intel公司"
    elif [ "$cpu" = "AuthenticAMD"  ];then
      echo "AMD公司"
    else
      echo "无法识别"
    fi

    3.1测试

    4.练习

    if嵌套#1.两个整数比较大小

    #!/bin/bash
    #if嵌套#1.两个整数比较大小
    read -p "请输入两个数比较大小:" a
    read -p "请输入两个数比较大小:" b
    c=`expr $a + $b `
    case $c in
      [[:alpha:]])
        echo "是字母,请输入数字"
        ;;
      [[:digit:]])
        if [ "$a" -gt  "$b"  ];then
            echo "$a最大"
        elif [ $a -eq $b ];then
            echo "$a等于$b"
        else
            echo "$b最大"
        fi
        ;;
      *)
        echo "是其他字符,请输入数字"
    esac

     

     4.1 测试

  • 相关阅读:
    RocketMQ入门了解
    LwIP介绍
    【CSS动效实战(纯CSS与JS动效)】02 flex 布局实战(仿 JD 及 gitCode 布局)及 media 自适应初探
    鸿鹄工程项目管理系统 Spring Cloud+Spring Boot+Mybatis+Vue+ElementUI+前后端分离构建工程项目管理系统项目背景
    容易忽视的细节:Log4j 配置导致的零点接口严重超时
    PM3398B-6P-1–3P-E 借助物联网和人工智能解决方案
    C语言 每日一题 PTA 10.28 day6
    中国机构票房排行查询易语言代码
    Diffie-Hellman的C++语言描述简单实现
    learnOpenGl
  • 原文地址:https://blog.csdn.net/Da_Bao_zi/article/details/126960069