一.条件表达式 在bash的各种流程控制结构中通常要进行各种测试,然后根据测试结果执行不同的操作.有时也和if结合,让我们方便判断. test: 1)判断文件是否存在:test -f  file 2)非的语法    test ! -f file 3)  判断 非空:  test -n  "$arg" 4)判断是否为0  test -z "$arg" [ ]: 1) [  -f  file ]:判断文件是否存在 2)  [  !-f file  ] :取反  @@更多…
Shell脚本语言是实现linux系统自动化管理的重要且必要的工具,几乎每一个合格的linux系统管理员或者高级运维工程师都要熟练shell脚本语言的编写,只有这样才能提升工作效率,解决工作中的重复劳动.(shell就是运维中的米饭,馒头,其他高级语言都是锦上添花,运维首先要掌握shell,再去研究其他) 一.什么是shell 和shell脚本 shell是一个命令解释器,在操作系统的最外层,负责直接与用户对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕反馈给用户…
一.比较两个数的大小 #!/bin/shread -p "Pls input two num:" a b[ -z "$a" ] || [ -z "$b" ] && {  echo "Pls input twn num agagin."  exit 1} expr $a + 0 &>/dev/nullRETVAL1=$?echo $RETVAL1expr $b+0 &>/dev/nul…
保养好自己的发动机:身体的和心里的身体健康:打打球,跑跑步心里健康:多和大家接触,保持家人.朋友的良好关系一.$*和$@的区别   $*:获取shell的所有参数,将所有的参数视为单个字符串.   $@ :获取shell的所有参数,将所有的参数视为单个字符串,即单个字体 linux 下set 和eval的使用小案例: runlevel=$(set -- $(runlevel); eval "echo \$$#" ):其中 eval表示二次扫描推荐:http://blog.sina.co…
一.什么是变量? 变量就是一个固定的字符串替代更多更复杂的内容,当然内容里面可能还有变量.路径.字符串等等内容,最大的特点就是方便,更好开展工作 1.变量有环境变量(全局变量)和局部变量 环境变量就是全局变量,可以在创建他们的shell及派生shell都可以用 局部变量只能在创建他们的shell中使用. 个人认为这个也不是很严谨,因为就像之前上篇讲到的,如果在某个脚本中定义了一个局部变量,例如:source   xx.sh   或者   .(点) xx.sh  呢?  同样可以调用脚本中的变量.…
一.写网络服务的系统启动脚本 利用case语句开发类似系统启动rsync服务的脚本 代码: #!/bin/sah. /etc/init.d/functionspidfile="/var/run/rsyncd.pid"start_rsync(){if  [ -f "$pidfile" ]  then    echo "rsync is running"else   rsync --daemon   action "rsync is sta…
一.监控mysql主从同步是否异常,如果异常,发送短信给管理员 1)开发一个守护进程脚本每30秒实现检测一次. 2)如果错误号是:1158.1159.1008.1007.1062,请跳过 3)请使用数组实现上述要求 #!/bin/sherrorno=(1158 1159 1008 1007 1062)mysql_cmd=" mysql -uroot -poldboy124 -S /data/3307/mysql.sock"while truedoflag=0array=($($mysq…
一.使用for循环在/oldboy目录下创建10个文件名为oldboy-x的文件 #!/bin/sh[ ! -d /oldboy ] && mkdir -p /oldbfor i in `seq 10`do  touch  /oldboy/oldboy-${i}.htmldone 二.用for循环实现将oldboy 改成linux,扩展名为HTML,for循环不能出现oldboy字体 #!/bin/shcd /oldboyfor file in `ls *.html`do  mv $fil…
一.写一个start_nginx脚本,当启动.停止.重启时利用系统函数模拟实现系统脚本启动的特殊颜色效果 (用if实现) #!/bin/sh. /etc/init.d/functions if [ $# -ne 1 ]  then   echo "USAGE $0 {start|stop|restart}"   exit 1fi if [ "$1" == "start" ]  then    action "start nginx&qu…
 http://www.cnblogs.com/ygj0930/p/8184277.html 一:函数 1:创建函数 法一: function name{ commands } 法二: name() { commands } 2:函数的使用 通过函数名来调用函数,需要注意的是:函数需要先定义,再调用.不然的话会报错. 3:函数返回值 函数运行结束时会返回值,有三种方法为函数生成返回值: 1)默认退出状态码 默认情况下,函数的最后一条命令的执行结果状态 就是函数的退出状态码,如果最后一条命令执行成…