shell作业

1,编写函数,实现打印绿色OK和红色FAILED
判断是否有参数,存在为OK,不存在为FAILED

 print ()
 {
  if [ "$a" ] == "" ];then
  		echo -e "\e[1;31m FAILED \e[0m"
  else
  		echo -e "\e[1;32m OK \e[0m"
   fi
   }
 read -p "请输入参数" a	
 print $a

2,编写函数,实现判断是否无位置参数,如无参数,提示错误

print ()
{
 if [ "$*" == "" ];then
     echo "error"
 else
     echo "$*"
  fi
}
read -p "请输入参数" a	
 print $a

3,编写函数实现两个数字做为参数,返回最大值

print ()
{
if [ $a -gt $b ];then
echo"$a"
elif [ $a -lt $b ];then
echo "$b"
elif [ $a -eq$b ];then
echo "相等"
fi
}
read -p "输入两个数:"a b
print $a $b

4,编写函数,实现两个整数位参数,计算加减乘除

print ()
{
echo "$a + $b =" $[$a+$b]
echo "$a - $b =" $[$a-$b]
echo "$a * $b =" $[$a*$b]
echo "$a / $b =" $[$a/$b]
}
read -p"输入两个数:"a b
print $a $b

5,将/etc/shadow文件的每一行作为元数赋值给数组

declare -a a
i=0
while read rows
do
a[$i]=$rows
echo "${a[$i]}"
let i++
done

6,使用关联数组统计文件/etc/passwd中用户使用的不同类型shell的数量

declare -A a
while read rows
do
Eype=`echo $rows | awk -F:`{print $7}``
let a[$type]++
done </etc/passwd
for i in ${!a[*]}
do
echo "$i 的数量为${a[$i]}"
done

7,使用关联数组按扩展名统计指定目录中文件的数量

declare -A a
for i in `ls | awk -F.'{print $2}'`
do
let a[$i]=a[$i]+1
done
for j in ${!a[*]}
do
echo "$j:${a[$j]}"
done
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值