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