Shell小干货学到就不亏

目录

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 测试

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值