linux-函数与数组

1 、编写函数,实现打印绿色 OK 和红色 FAILED
判断是否有参数,存在为 Ok ,不存在为 FAILED
2 、编写函数,实现判断是否无位置参数,如无参数,提示错误
3 、编写函数实现两个数字做为参数,返回最大值
4 、编写函数,实现两个整数位参数,计算加减乘除。
5 、将 /etc/shadow 文件的每一行作为元数赋值给数组
6 、使用关联数组统计文件 /etc/passwd 中用户使用的不同类型 shell 的数量
7 、使用关联数组按扩展名统计指定目录中文件的数量
1.
#!/bin/bash
test1(){
echo "OK"
echo "FAILED"
if [ $# -eq 0 ]
then
    echo "OK"
else
    echo "fAILED"
fi
}
test1 a

2.

#!/bin/bash
test1(){
if [ $# -eq 1 ];then
    echo "youcanshu"
else
    echo "meiyouzugoudecanshu"
fi
}
test1

3.

#!/bin/bash
test1(){
    a=$1
if [ $2 > $1 ];then
    a=$2
    echo "the biggest number is $a"
else
    echo "the biggest number is $a"
fi
}
test1 2 3

4.

#!/bin/bash
test1(){
expr $1 + $2 &> /dev/null
if [ $? -eq 0 ]
then
      echo $[ $1 + $2 ]
      echo $[ $1 / $2 ]
      echo $[ $1 * $2 ] 
else
      echo "两个变量中有不是整数的值"
fi
}
test1 4 2

5.

#!/bin/bash
declare -a array
i=0
while read line
do
    array[$i]=$line
    echo ${array[$i]}
    let i++
done < /etc/passwd

6.

#!/bin/bash
declare -A shells
while read line
do
    type=`echo $line | cut -d: -f7`
    let shells[$type]++
done < /etc/passwd
for i in ${!shells[*]}
do
    echo "$i : ${shells[$i]}"
done

7.

#!/bin/bash
declare -A array
num= `find /shell/day* -type d | wc -l`
for ((i=0;i<$num;i++))
do
    type=`find /shell/day* -type d | head -$[$i+1] | tail -1`
    array[$type]=`find $type -type f -print | wc -l`
done
for i in ${!array[*]}
do
    echo "$i : ${array[$i]}"
done

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值