目录
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 "请输入你要存放压缩包的位置:" Locationcase $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