1.编写能够自动生成一个6位随机密码的脚本
2.将一个点分十进制格式的IP地址转换成点分二进制格式
比如 255.255.255.255 --> 11111111.11111111.11111111.11111111
3.假设/opt/test/ 目录中有多个重要文件,编写脚本使用 md5sum 命令一次性判别目录中的文件是否有发生过改动
4.写个逛淘宝选购商品脚本,每家商店有五种商品选购(衣服500元,裤子400元,鞋子350元,帽子150元,袜子50元),每次选购完或不买都会提示用户是否继续逛下一家商店,如果不再继续逛的话进行购物车结算总额。
5.输出环境变量PATH的目录所包含的所有可执行文件
6.执行命令 mkdir -p /root/bin/aa/bb/cc/dd ; touch /root/bin/aa/bb/cc/dd/abc.txt,
通过脚本输出环境变量PATH所包含的所有目录以及其中的子目录和所有不可执行文件
7.打印空心矩形
exit 直接退出当前shell脚本
break 直接把当前运行的循环终止了
break 2 当前运行的循环和上一个循环直接停止了
continue continue和break有点类似,区别在于continue只是终止本次循环,接着还执行后面的循环,break则完全终止循环。 可以理解为continue是跳过当次循环中剩下的语句,执行下一次循环。
1.
2.
#!/bin/bash
read -p "请输入一个ip地址:" ip
a=1
b=0
while [ $a -le 4 ]
do
#取IP地址的“.”前面的首字段
num=${ip%%.*}
for i in {1..8}
do
var=$[num % 2]
sum=$var$sum
num=$[num / 2]
done
#除去IP地址的首个字段,并将(除去首个字段的IP)重新赋值给变量
ip=${ip#*.}
let a++
echo -n ${sum:0:8}
let b++
if [ $b -lt 4 ];then
echo -n '.'
else
break
fi
done
echo ""
3.


4.
let sum+=500
;;
2)
echo "你已购买了裤子500元"
let sum+=500
;;
3)
echo "您已购买了鞋子300元"
let sum+=300
;;
4)
echo "您已购买了帽子150元"
let sum+=150
;;
5)
echo "您已购买了袜子50元"
let sum+=50
;;
*)
echo "欢迎下次光临,您本次消费共计$sum元"
break
esac
read -p "您选择继续购物还是结算购物车?(y/n)" b
if [ $b = y ] ; then
continue
elif [ $b = n ] ; then
echo "欢迎下次光临,您本次购物共计消费$sum元"
break
else
echo "请您正确输入"
fi
done
5.
6.
#!/bin/bash
listdir() {
for a in $1/*
do
if [ -d $a ];then
echo "$2$a"
listdir $a " $2"
elif [ ! -x $a ] && [ -f $a ];then
echo "$2$a"
fi
done
}
OLDIFS=$IFS
IFS=':'
for i in $PATH
do
echo "$i"
listdir $i " "
done
IFS=$OLDIFS
7.用while循环打印空心矩形
空心矩形如图
版权声明:本文为weixin_59629968原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。