shell脚本介绍

  

<强>壳脚本介绍

  

<强>壳是什么

  
      <李>壳是一种脚本语言李   <李>可以使用逻辑判断,循环等语法   <李>可以自定义函数   <李>壳是系统命令的集合李   <李>壳脚本可以实现自动化运维,能大大增加我们的运维效率   
  

<强>壳脚本结构和执行方法

  
      <李>开头需要加# !/bin/bash   <李>以#开头的行作为解释说明李   <李>脚本的名字以. sh结尾,用于区分这是一个shell脚本李   <李>执行方法有两种   <李> chmod + x 1. sh; 1.。/sh李   <李> 1. sh bash   <李>查看脚本执行过程bash - x 1. sh李   <李>查看脚本是否语法错误bash - n 1. sh李   
  

加入到chkconfig,列清单表,必须有chkconfig,描述这两项

  

翱桥平疟窘樯?

  

<强>日期命令的用法

  
 <代码>日期+”Y % - % - % d % H: % m: % S”//年月日时分秒
  日期+“% F % T”//同上
  日期+“% s”//时间戳
  日期- d @1521172172//时间戳转化为年月日星期时分秒
  日期+ % s - d ' 2016-9-10 06:10:30 '//将某个日期转化为时间戳
  日期- d“+ 1日”//一天后的日期
  日期- d“1天”//一天前的日期
  日期- d“1月”//一月前的日期
  日期- d“1分”//一分钟前的日期
  日期+ % w//星期
  日期+ % W//一年中的第几周 
  

卡尔命令的用法

  
 <代码> cal - h//查看日历的帮助信息 
  

<强>壳脚本中的变量

  
      <李>当脚本中使用某个字符串较频繁并且字符串长度很长时就应该使用变量代替李   <李>使用条件语句时,常使用变量如果[$ gt 1];然后…;李fi   <李>引用某个命令的结果时,用变量替代n=<代码> 1.三种wc - l   <李>写和用户交互的脚本时,变量也是必不可少的阅读- p”输入一个数字:“n;echo $ n如果没写这个n,可以直接使用美元回复李   <李>内置变量$ 0 $ 1、$ 2…0美元表示脚本本身,1美元第一个参数,2美元第二个参数…$ #表示参数个数   <李>数学运算=1,b=2;c=$ ((a + b)美元)或美元者(a + b美元)   
  

<强>壳中的逻辑判断

  

格式1:如果条件;然后语句;fi
格式2:如果条件;然后语句;其他语句;fi
格式3:如果条件;然后语句;elif条件;然后语句;其他语句;fi
逻辑判断表达式:如果[$ gt $ b];如果(lt 10美元);如果(b eq 20美元)等
gt(在);lt () & lt;;通用电气(祝辞=);勒(& lt;=);eq (==);- ne (!=)
可以使用,,| |结合多个条件
如果(gt 5美元),,(lt 10美元);然后…;fi
if (b gt 5美元)| | (b lt 3美元);然后…;fi

  

<强>如果判断文件,目录属性
[- f文件]判断是否是普通文件,且存在
[- d文件]判断是否是目录,且存在
(文件- e)判断文件或目录是否存在
(- r文件)判断文件是否可读
(文件- w)判断文件是否可写
(- x文件)判断文件是否可执行

  

<强>如果判断的一些特殊用法

  

如果[- z“a"美元;]这个表示当变量一个的值为空时
如果(- n“a"美元;)表示当变量一个的值不为空
如果grep - q ' 123 ' 1.三种;然后…;fi//表示1。txt中含有‘123’的行时会怎么样
如果[!- e文件]//表示文件不存在时
如果((a<1))//等于于如果[$ lt 1]
[]中不能使用& lt;祝辞、==?=⒆4?& lt;=这样的符号

  

<强>壳中的情况下判断

  
 <代码>格式情况变量名
  value1)
  命令
  ;;
  value2)
  命令
  ;;
  *)
  命令
  ;;
  esac  
  

在例程序中,可以在条件中使用|,表示或的意思,如2 | 3)

  

<强>的循环

  
 <代码>变量名的条件;做…;//完成注意:是以空格作为分隔符的 
  

<>强而循环

  
 <代码>而条件;做…; 之前完成
  

<强>继续,休息,退出

  
 <代码>继续//用在循环中时,结束本次循环,进行下一次循环
  打破//有在循环中时,跳出循环//退出退出整个脚本 
  

<强>壳脚本中的函数

  

函数就是把一段代码整理到一个单元中,并给这个小单元起一个名字,当用到这段代码时直接调用这个单元的名字即可

  

shell脚本介绍