函数

作者: 亮仔_c1b5 | 来源:发表于2019-10-14 00:06 被阅读0次

shell函数
函数介绍
函数语法
函数应用
一、函数介绍
在写代码的时候,我们很多人习惯从头写到结束,完成以后在一起测试。但是到测试阶段才发现:错误一大堆,上帝啊!弄死我吧!

为了解决这个问题,建议大家把代码模块化,一个模块实现一个功能,哪怕是一个很小的功能都可以,这样的话我们写代码就会逻辑上比较简单,代码量比较少,排错简单,这也就是函数的好处。

函数的优点:

代码模块化,调用方便,节省内存
代码模块化,代码量少,排错简单
代码模块化,可以改变代码的执行顺序
二、函数的语法
语法一:

函数名 () {
代码块
return N
}

语法二:
function 函数名 {
代码块
return N
}
三、函数的应用
定义一个函数

print () {
echo "welcome to ayitula"
或者

function hello {
echo "hello world"
}

hello就是函数名
print 和 hello就是函数的名字,函数名字命名参考变量一节中的变量命名规则

函数调用

定义好函数后,如果想调用该函数,只需通过函数名调用即可。

函数演示案例

!/bin/bash

N1 () {
echo "date +%F"
}

N2 () {
echo -e "\t\t\t\twelcome to ayitula"
echo -e "\n"
}

N3 () {
echo "1) 剪子"
echo "2) 石头"
echo "3) 布"
}

N4 () {
echo -e "\n\n\n"
read -p "请输入代码: " DL
}

方便调整代码执行顺序

N2

代码重复调用

N1
N1
N3
N4

输出

[root@www ~]# sh x2
welcome to ayitula

2019-02-19
2019-02-19

  1. 剪子
  2. 石头

请输入代码: 1

job:

案例一、nginx启动管理脚本

!/bin/bash

ngingx service manager scripts

=====================variables

nginxdoc="/usr/local/nginx"
nginxd="nginxdoc/sbin/nginx" pid="nginxdoc/logs/nginx.pid"
conf="$nginxdoc/conf/nginx.conf"

====================function

mystart () {
if [ -f pid ] && pstree -p |grep `catpid` &>/dev/null;then
echo "nginx already run..."
exit 0
else
if $nginxd ;then
echo -e "nginx start\t\t\t\t[\033[32m OK \033[0m]"
else
echo -e "nginx start\t\t\t\t[\033[31m FAIL \033[0m]"
fi
fi
}

mystop () {
if [ -f pid ] && pstree -p |grep `catpid` &>/dev/null;then
if killall -s QUIT $nginxd;then
echo -e "nginx stop\t\t\t\t[\033[32m OK \033[0m]"
else
echo -e "nginx stop\t\t\t\t[\033[31m FAIL \033[0m]"
fi
else
echo "nginx already stop...."
fi
}

myrestart () {
mystop;sleep 2 ;mystart
}

myreload () {
if [ -f pid ] && pstree -p |grep `catpid` &>/dev/null;then
if killall -s HUP $nginxd;then
echo -e "nginx reload\t\t\t\t[\033[32m OK \033[0m]"
else
echo -e "nginx reload\t\t\t\t[\033[31m FAIL \033[0m]"
fi
else
echo "nginx is stop...."
fi

}

mystatus () {
if [ -f pid ] && pstree -p |grep `catpid` &>/dev/null;then
echo "nginx is open"
else
echo "nginx is stop"
fi
}

===================main

calld function

case $1 in
start|START)
mystart
;;
stop) mystop ;;
restart) myrestart ;;
reload) myreload ;;
status) mystatus ;;
esac

相关文章

  • Excel(三)

    AND函数 OR函数 NOT函数 IF函数 频率分析函数FREQUENCY

  • if、else if、for、while、repeat函数

    ①if函数 ②else if函数 ③for函数 ④while函数 ⑤repeat函数

  • strsplit、mapply、paste、match函数

    strsplit函数 mapply函数 strsplit函数 mapply函数 paste函数 match函数 第...

  • Oracle中常用函数(SQL)

    Oracle函授有以下几个分类:数字函数、字符函数、日期函数、转换函数、集合函数、分析函数 数字函数: 字符函数:...

  • MySQL函数

    字符函数 数字运算函数 比较运算符和函数 日期时间函数 信息函数 聚合函数 加密函数 流程函数

  • BI-SQL丨AND & OR & IN

    AND函数 & OR函数 & IN函数 AND函数、OR函数和IN函数都可以理解是WHERE函数的补充,当然也可以...

  • Python之函数

    课程大纲 函数定义 函数的参数 函数的返回值 高阶函数 函数作用域 递归函数 匿名函数 内置函数 函数式编程 将函...

  • 函数基本知识

    函数 函数的定义: def 函数名() 函数的调用:函数名() #不能将函数调用放在函数定义上方 函数的文档注...

  • 积分表——不定期更新

    基本初等函数包括: 常函数: 幂函数 指数函数 对数函数 三角函数 反三角函数 I、反函数Ⅱ、复合函数:初等函数(...

  • MySQL基本使用

    函数 常用函数 数学函数 字符串函数 日期函数

网友评论

      本文标题:函数

      本文链接:https://www.haomeiwen.com/subject/fsqhmctx.html