1、定义一个show函数,传递自己的个人信息并调用输出
#! /bin/bash
functon getnum
{
echo "$1"
echo "$2"
echo "$3"
}
getnum "lvqing" "女" " 158cm"
2、定义一个getnum函数,求某路径下文件夹的数量并输出
#! /bin/bash
function getnum
{
num=0
for file in ` ls $1`
do
num=`expr $sum + 1`
done
echo "$1的文件夹的数量: $num "
}
#调用函数
getnum /
3、定义一个类似于seq函数
seq 100
seq 1 100
seq 1 2 100
#! /bin/bash
function seqself
{
if [ $# -eq 0 ]
then
echo "seqself 缺少操作数"
elif [ $# -gt 3 ]
then
echo "seqself 额外的操作数 "
elif [ $# -eq 1 ]
then
for (( i=1;i<=$1;i++ ))
do
echo $i
done
elif [ $# -eq 2 ]
then
for (( i=$1;i<=$2;i++ ))
do
echo $i
done
elif [ $# -eq 3 ]
then
for (( i=$1;i<=$3;i+=$2 ))
do
echo $i
done
fi
}
seqself 1 2 100
4、定义一个函数:search
实参:path 文件名
返回 1 不存在:0
#! /bin/bash
function search
{
read path
if [ -f $path ]
then
return 1
else
return 0
fi
}
search " $ path"
echo $?
挑战题:
1、定义函数:探测某教室指定网络地址下有多少台主机在线
192.168.7.100 -192.168.7.200
2、定义一个函数:userlist
创建C1906020~C19060300区间的用户【并指定用用户密码为123456】
调用:
userlist 20 300
定义一个函数:rmuser,实现删除指定用户
补充:
1、array=(1 3 2 45 6 3 4 7 6 8 9 0 10)求最大值,次大值
#! /bin/bash
num=(1 3 2 45 6 3 4 7 6 8 9 0 10 )
m=0
n=0
b= $ {#num[*]}
for (( i=0;i<= $ b;i++ ))
do
if [[ $ {num[$i]} -gt $m ]]
then
m= ${num[$i]}
elif (( num[$ i] < $ m && num[ $i] > $n ))
补充:[ ${num[ $i]} -lt $m -a ${num[ $i]} -gt $n ]这种可以出结果但是会出现异常,语法有问题
then
n=${num[$i]}
fi
done
echo $m $n
2.array=(1 3 4 6 7 8 10 13 14 15 17 19 20)判断key=19是否存在
#! /bin/bash
array=(1 3 4 6 7 8 10 11 13 14 15 17 19 20)
read a
for (( i=0;i<15;i++ ))
do
if [[ $a -eq ${num[$i]} ]]
then
echo "yes"
break
fi
if [[ $i -eq 14 ]]
then
echo "no"
break
fi
done