码迷,mamicode.com
首页 > 系统相关 > 详细

9 shell

时间:2019-02-07 20:42:34      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:自己   结构   参数   字符型   att   init.d   如何   利用   空间   

bash脚本编程:

  脚本文件格式:

    第一行,顶格:#!/bin/bash

    注释信息:#

    代码注释:

    缩进,适度添加空白行;

  语言:编程语法格式,库,算法和数据结构

  编程思想:

    问题空间 --> 解空间

  变量:

    局部变量:

    本地变量:

    环境变量:

    

    位置参数变量:

    特殊变量:

  数据类型:字符型、数值型、

    弱类型:都默认为处理为字符型

  算数运算:

    +,-,*,/,%,**

    let VAR=$num1 op(运算符) $num2

    var=$[exoresslon]

    var=$((expression))

    var=$(expr argu1 argu2 argu3)

    注意:有些时候乘法符号(*)需要转义

    增强型赋值:

      变量做某种算数运算后回存至此变量中

        let i=$i+=#

        let i+=#

      +=,-=,*=,/=,%=,...

      自增运算:

        let VAR=$[$VAR+1]

        let VAR+=1

        let VAR++1

      自减运算:

        let VAR=$[$VAR1]

        let VAR-=1

        let VAR--1

 

练习:

  1、写一个脚本

    计算/etc/passwd文件中的第10个用户和第20个用户的id号之和

    id1=$(head -10 /etc/passwd | tail -1 | cut -d: -f3)

    id2=$(head -20 /etc/passwd | tail -1 } cut -d: -f3)

    

  2、写一个脚本

    计算/etc/rc.d/init.d/functions和/etc/inittab文件的空白行数之和

    grep "^[[:space:]]*$"  /etc/rc.d/init.d/ | wc -l

    

  条件测试:

    判断某需求是否满足,需要由测试机制来实现;

    如何编写测试表达式以实现所需的测试

      (1)执行命令,并利用命令状态返回值来判断

        0:成功

        1-255:失败

      (2)测试表达式

        test EXPRESSION

        [ EXPRESSION ]:注意:EXPRESSION前后两端必须有空格,否则为语法错误

        [[ EXPRESSION ]]:注意:EXPRESSION前后两端必须有空格,否则为语法错误

  bash的测试类型:

    数值测试

    字符串测试

    文件测试

 

    数值测试:数值比较

      -eq:是否等于:[$num1 -eq $num2]

      -ne:是否不等于;

      -gt:是否大于,表示左侧是否大于右侧

      -ge:是否大于等于

      -lt:是否小于

      -le:是否小于等于

    字符串测试:

      ==:是否等于

      >:是否大于

      <:是否小于

      |=:是否不等于

      =~:左侧字符串是否能够被右侧的PATTERN(模式)所匹配

      -z “STRING”:判断指定的字串是否为空,空则为真,不空则假

      -n “STRING”:判断指定的字符串是否不空,不空则真,空则为假

     注意:

        (1)字符串要加引号

        (2)要使用双中括号[[ ]]

  脚本的状态返回值:

    默认是脚本中执行的最后一条命令的状态返回值;

    自定义状态退出状态码:

      exit [n]:n为自己指定的状态码

        注意:shell进程遇到exit时,即会终止,因此,整个脚本执行即为结束

9 shell

标签:自己   结构   参数   字符型   att   init.d   如何   利用   空间   

原文地址:https://www.cnblogs.com/self-discipline-xxc/p/10355421.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!