start () {

       echo "Apache start ......        [OK]"
#return 0 可以写一个返回值,比如执行成功返回 0
} stop () { echo "Apache stop ...... [Fail]"
} start #调用函数 直接写函数名即可
stop

实战 nginx 启动管理脚本

 #!/usr/bin/env bash

 nginx_dir=/usr/local/nginx
nginxd=$nginx_dir/sbin/nginx
pid_file=$nginx_dir/logs/nginx.pid
proc=nginx if [ -e $pid_file ];then nginx_process_id=`cat $pid_file`
nginx_process_num=`ps aux | grep $nginx_process_id | grep -v "grep" | wc -l`
fi
start(){ if [ ! -e /etc/init.d/network ];then echo' /etc/init.d/network doesn`t exist'
exit
fi
. /etc/init.d/functions if [ -e $pid_file ] && [ $nginx_process_num -ge ];then
echo "nginx running..."
else
if [ -e $pid_file ] && [ $nginx_process_num -lt ];then
rm -f $pid_file
echo " nginx start ` daemon $nginxad` "
#action "nginx start " $nginxd 另外一种写法 对应27行
fi
echo " nginx start ` daemon $nginxd` " fi }
stop(){ if [ -e $pid_file ] && [ $nginx_process_num -ge ];then echo " nginx stop `killall -s QUIT $proc`"
else
echo 'nginx stop error'
fi
} restart(){
stop
sleep
start
} reload(){ if [ -e $pid_file ] && [ $nginx_process_num -ge ];then
echo "nginx reload `killall -s HUP $proc`"
else
echo 'nginx reload failed' fi
}
status(){
if [ -e $pid_file ] && [ $nginx_process_num -ge ];then echo 'nginx running'
else
echo 'nginx stop'
fi } case $ in
start) start;;
stop) stop;;
restart) restart;;
reload) reload;;
status) status;;
*) echo "USAGE: $0 start|stop|restart|reload|status" ;;
esac

然后将脚本复制到 /etc/init.d/中并命名为nginxd

再修改权限chmod 755 /etc/init.d/nginxd

然后就可以通过service来个控制了

service nginxd status
nginx running

记录 shell学习过程(8)函数的更多相关文章

  1. 记录 shell学习过程(10 ) shell 对文件的操作

    0.sed 常用内部命令 a 在匹配后面添加 i 在匹配前面添加 p 打印 d 删除 s 查找替换 c 更改 y 转换 N D P 下面用a来演示 1.sed 'a 追加内容' 文件 # sed 'a ...

  2. 记录 shell学习过程(9)正则表达式 转自树明聊运维

    正则表达式 正则表达式介绍 特殊字符 POSIX特殊字符 一.正则表达式介绍 正则表达式是一种文本模式匹配,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符") ...

  3. 记录 shell学习过程(7) case 以及 shell 的特殊变量

    case 语法 read -p "num:" n case $n in ) echo haha ;; ) echo hehe ;; ) echo heiehi ;; *) echo ...

  4. 记录 shell学习过程(4)for 循环

    1. for in ` #seq 生成从1到10 如果生成从10到1则写作 seq 10 -1 1 do echo $i done for in 也可以循环出字符串 for i in where is ...

  5. 记录 shell学习过程(11 ) shell 对输出流的处理

    语法 awk  [options] [BEGIN] {program} [END] [file] 常用命令选项 -F fs 指定描绘一行中数据字段的文件分隔符 默认为空格 -f file 指定读取程序 ...

  6. 记录 shell学习过程(6)while 以及 while的嵌套 以及 until

    while中的5种条件 1.数学比较 read -p "Num :" num1 ] do echo 'greater' sleep done 2.字符串比较 read -p &qu ...

  7. 记录 shell学习过程(5)continue break

    1.continue ;i<;i++)) do ];then continue fi echo $i done # ./continue.sh12346789 2.break ;i<;i+ ...

  8. 记录 shell学习过程(3) if 的格式

    ] #-e 为检测目录或文件是否存在 !为取反 then mkdir -v /tmp/ echo 'ok' fi if else if [ $USER == 'root' ] then echo 'h ...

  9. 记录 shell学习过程(2) read的用法

    echo -n "login:"read username  #read后面直接使用一个变量用于接收输入的数据 echo -n "password:"read ...

随机推荐

  1. 浅谈python的第三方库——numpy(一)

    python作为广受欢迎的一门编程语言,其中很重要的一个原因便是它可以使用很多第三方库. 对第三方库的理解,在笔者看来就是一些python爱好者和专门的研发机构,为满足某一特定应用领域的需要,使用py ...

  2. java控制台模式控制光标及字符颜色

    System.out.println("\033[47;31mhello world\033[5m"); 47是字背景颜色, 31是字体的颜色, hello world是字符串.  ...

  3. MySQL优化(四)——读写分离

    1.MySQL高可用        主从复制      一主多备      多主多备        读写分离      减少IO开销,防止阻塞等等 2.主从复制参考 https://www.cnblo ...

  4. echarts 【图表的基本使用】

    一.柱状图 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <tit ...

  5. linux下安装setuptools

    wget https://pypi.python.org/packages/07/a0/11d3d76df54b9701c0f7bf23ea9b00c61c5e14eb7962bb29aed866a5 ...

  6. HTTP协议、时间戳、防盗链的一些概念

    HTTP协议 什么是HTTP协议 (HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准. HTTP是一 ...

  7. 案例-pyqt进度条案例

    import sys from PyQt5.QtWidgets import * from PyQt5.QtGui import * from PyQt5.QtCore import * import ...

  8. hextorgb

    function hexToRgb(hex) { // By Tim Down - http://stackoverflow.com/a/5624139/3493650 // Expand short ...

  9. vnode

    获取vnode对象 vm.$slots对象下的所有值 vm.$scopedSlots对象的值返回一个函数,该函数执行后返回vnode对象 directives自定义指令中钩子函数的参数3和参数4,例如 ...

  10. PAT (Advanced Level) Practice 1028 List Sorting (25 分) (自定义排序)

    Excel can sort records according to any column. Now you are supposed to imitate this function. Input ...