shell编程之Shell 编程函数
Shell 允许将一组命令集或语句形成一个可用块,这些块称为 Shell 函数,Shell 函数的用于在于只需定义一次,后期随时使用即可,无需在 Shell 脚本中添加重复的语句块,其语法格式以 function name(){开头,以}结尾。
Shell 编程函数默认不能将参数传入()内部,Shell 函数参数传递在调用函数名称传递,例如 name args1 args2。
语法格式
function name (){
command1
command2
........
}
name args1 args2
(1) 创建 Apache 软件安装函数,给函数 Apache_install 传递参数 1:
#!/bin/bash
#auto install LAMP
#By author MR.XU 2020
#Httpd define path variable
H_FILES=httpd-2.4.43.tar.bz2
H_FILES_DIR=httpd-2.4.43
H_URL=http://mirrors.cnnic.cn/apache/httpd/
H_PREFIX=/usr/local/apache2/
function Apache_install()
{
#Install httpd web server
if [[ "$1" -eq "1" ]];then
wget -c $H_URL/$H_FILES && tar -jxvf $H_FILES && cd $H_FILES_DIR && ./configure --prefix=$H_PREFIX
if [ $? -eq 0 ];then
make && make install
echo -e"\n\033[32m-----------------------------------------------\033[0m"
echo -e "\033[32mThe $H_FILES_DIR Server Install Success !\033[0m"
else
echo -e "\033[32mThe $H_FILES_DIR Make or Make install ERROR,Please Check......"
exit 0
fi
fi
}
Apache_install 1
(2) 创建 judge_ip 判断 IP 函数:
#!/bin/bash
#By author jfedu.net 2017
judge_ip(){
read -p "Please enter ip Address,example 192.168.0.11 ip": IPADDR
echo $IPADDR|grep -v "[Aa-Zz]"|grep --color -E "([0-9]{1,3}\.){3}[0-9]{1,3}"
}
judge_ip