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