shell脚本语法

举栗子说明:
编写nginx启动脚本:
#!/bin/bash    #表示当前脚本由/bin/bash这个程序来执行
# chkconfig: 35 80 30   #系统服务的运行级
# description: Nginx Server
NGINXD='/usr/local/nginx/sbin/nginx'   #nginx运行文件
LOCKFILE='/var/lock/nginx.lock'   #nginx的锁文件
PIDFILE='/var/run/nginx/nginx.pid'   #nginx的pid文件
./etc/init.d/functions   #提供基础功能
function start(){
[ -e $LOCKFILE ] && echo "nginxd is running ......" && exit      #[和]都要有空格,否则报错   -e表示是否存在
echo -n "nginxd is starting ......"                       #-n不换行输出
sleep 1
 $NGINXD                        
[ $? -eq 0 ] && touch $LOCKFILE && echo -e "\033[32m [ok] \033[0m" || echo -e "\033[31m [fail] \033[0m"       
#$?表示最后运行代码的返回值    
#-eq是否相等       
#touch表示将文件的访问时间和修改时间改为当前时间
#echo -e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般
文字输出:
  \a 发出警告声;
     \b 删除前一个字符;
   \c 最后不加上换行符号;
   \f 换行但光标仍旧停留在原来的位置;
   \n 换行且光标移至行首;
   \r 光标移至行首,但不换行;
   \t 插入tab;
   \v 与\f相同;
   \\ 插入\字符;
   \nnn 插入nnn(八进制)所代表的ASCII字符;

#echo -e "\033[32m [ok] \033[0m"   
其中32的位置是代表字的颜色 

那些ascii code 是对颜色调用的始末. 
\033[ ; m …… \033[0m 

字背景颜色范围:40----49 
40:黑 
41:深红 
42:绿 
43:黄色 
44:蓝色 
45:紫色 
46:深绿 
47:白色 

字颜色:30-----------39 
30:黑 
31:红 
32:绿 
33:黄 
34:蓝色 
35:紫色 
36:深绿 
37:白色 
===============================================ANSI控制码的说明 
\33[0m 关闭所有属性 
\33[1m 设置高亮度 
\33[4m 下划线 
\33[5m 闪烁 
\33[7m 反显 
\33[8m 消隐 
\33[30m -- \33[37m 设置前景色 
\33[40m -- \33[47m 设置背景色 
\33[nA 光标上移n行 
\33[nB 光标下移n行 
\33[nC 光标右移n行 
\33[nD 光标左移n行 
\33[y;xH设置光标位置 
\33[2J 清屏 
\33[K 清除从光标到行尾的内容 
\33[s 保存光标位置 
\33[u 恢复光标位置 
\33[?25l 隐藏光标 
\33[?25h 显示光标
} function stop(){ echo -n "nginxd is stoping......" sleep 1 kill -INT `cat $PIDFILE` #关闭nginx进程 [ $? -eq 0 ] && rm -rf $LOCKFILE && echo -e "\033[32m [ok] \033[0m" || echo -e "\033[31m [fail] \033[0m" } function status(){ [ -e $LOCKFILE ]&& echo "nginxd is running ......" || echo "nginxd is stoped" } case $1 in start) start ;; stop) stop ;; restart) stop start ;; status) status ;; *) echo "nginxd Usage: {start|stop|restart}" ;; esac
#取值后面必须为单词in,每一模式必须以右括号结束。取值可以为变量或常数。匹配发现取值符合某一模式后,其间所有命令开始执行直至 ;;。

取值将检测匹配的每一个模式。一旦模式匹配,则执行完匹配模式相应命令后不再继续其他模式。如果无一匹配模式,使用星号 * 捕获该值,再执行后面的命令。case开始,esac结束


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值