【bash】编程之函数function

函数:功能,function


函数是实现结构化编程重要的思想。


代码重用:



库:so共享对象 ,能够被多个进程同时调用



结构化编程,不能独立运行,需要调用时执行,可以被多次调用



-------------------------------------------------


定义一个函数:


funtion FUNCNAME {


command


}




FUNCNAME() {


command


}




自定义执行状态返回值:


return #


0-255




接收参数的函数:



------------------------------------------------


------------例如------------------


#!/bin/bash


#


#定义一个ShowMenu函数


function ShowMenu {


cat << EOF


d|D) show disk usages


m|M) show memory usage


s|S) show swap usage


q|Q) quit.


EOF


}



#函数的调用


ShowMenu


----------------------------------



-------------------------------------------------------------------------------------------


练习:写一个脚本,判定192.168.0.200-192.168.0.254之间的主机哪些在线。


要求


1、使用函数来实现一台主机的判定过程:


2、在主程序中来调用此函数判定指定范围内的所有主机的在线情况。


-------------------------------------练习开始----------------------------------------


#!/bin/bash


#



PD(){


if `ping -c 1 -w 1 $1 &>/dev/null ` ;then


echo "$1在线"


else 


echo -e "\033[31m$1\033[0m不在线"


fi


}




for I in {0..254};do


PD "192.168.61.$I"


done


---------------------------------实现方法2-------------------------------------------------------------


#!/bin/bash


#




PD(){


if `ping -c 1 -w 1 $1 &>/dev/null ` ;then


return 0


else 


return 1


fi


}




for I in {0..254};do


PD "192.168.61.$I"


if [ $? -eq 0 ];then


echo "192.168.61.$I在线"


else


echo -e "\033[31m192.168.61.$I\033[0m不在线"


fi


done


------------------------------------------------------------------------------------------------------------------