zoukankan      html  css  js  c++  java
  • shell 快速入门

    1: 脚本开始行
      #!/bin/bash
        这一行表明,不管用户选择的是那种交互式shell,该脚本需要使用bash shell来运行。
        由于每种shell的语法大不相同,所以这句非常重要。
    2:变量
    定义变量
      变量名称只能是字母开头,可以包涵字母,数字下划线。
      不能有点号
      不能用bash里的关键字
      variable="Variable" 变量名和变量值中间不能有空格
    字符串
      单引号和双引号的区别
      单引号不会转译内容,会按原内容输出
      双引号会转译,有变量的会把变量的值输出
    使用变量
    $variable 前面要加$符号 标准做法是${variable} {}是用来区分边界的
    如果想在变量后跟别的变量,就要用标准做法
    导出变量
      export variableName
      意思其实就跟定义一个全局变量一样
    3:特殊变量
      $$ 执行脚本的进程ID
      $n 输入参数 $1 第一个参数 $2 第二个参数 。。。
      $@ 输入的所有参数
      $* 输入的所有参数 当$*被 引号包围里表示所有参数会做为一个整体 "$1 $2..."
      $# 输入参数的总数量
      $? 上一个命令的返回值
      $HOME 家目录
      $PATH path路径
     
    4:运算
      算术运算
    + - * / % 都可以进行, 注意乘法的时候要用*
    let result=a+b 注意空格
    result=`expr $a + $b` 注意空格
    上面两种都可以进行运算
    逻辑运算
      数字运算
        -eq 相等
        -ne 不等
        -gt 大于
        -lt 小于
        -ge 大于等于
        -le 小于等于
      字符串
        = 两个字符串是否相等
        != 是否不等
        -z 字符串是长度是否为0(zero)
        -n 长度是否不为0
        str 字符是否为空
      文件测试
        -d 是否为目录
        -f 是否是普通文件
        -r 是否可读
        -w 是否可写
        -x 是否可执行
        -s 文件大小是否大于0
     
    5: 条件判断
      if / then /fi
      if /then /else/fi
      if /then /elif /then /else /fi
     
      if [[ expression ]]; then
        statement
        :  (如果没有内容用冒号点位)
      fi
      判断条件与中括号之间要有空格,否则bash会认为是连在一起的字符
      a=10
      if [[ a -eq 10 ]]; then
        echo "a is equal 10"
      elif [[ a -gt 10 ]]; then
        echo "a is bigger than 10"
      else
        echo "a is lessthan 10"
      fi
     
    6:case/esac
      case variable in
        case1) statement1
        ;;
        case2) statement2
        ;;
        *) statement3
        ;;
      esac
     
    7:循环
      for 循环
        for 变量 in 列表
        do
        .......
        done
        for loop in 1 2 3 4 5
        do
        echo $loop
        done
     
      while 循环
        while boolean条件
        do
        .....
        done
      如果条件为true则断续执行
     
      until 循环
        until 执行条件
        do
        ...
        done
      如果条件为false,则一直断续执行
     
      跳出循环
      break, continue
      break可以跳出所有循环,如果是嵌套循环,则在break后面跟一个数字表示跟出第几层循环
      for var1 in arr1
      do
        for var2 in arr2
        do
          if [[ 条件 ]];then
            break 2
          fi
        done
      done
      上例中break 2是直接跳出最外层循环
    8:函数
      function_name () {
        list of commands
        [ return value ]
      }
    函数可以传参数
     

     
  • 相关阅读:
    2、netlink简介
    1、netlink 连接器 通信机制
    第一章 02 谈谈static关键词
    第一章 01 namespace 命名空间
    第一章 00 StringUtil.cpp和StringUtil.hh分析
    说说log4cplus
    Jq 操作json
    怪怪的bug,提示值不能为空,连action都不进
    浏览器兼容性部分---FF&IE678
    Jquery 随笔
  • 原文地址:https://www.cnblogs.com/taixuyingcai/p/6337147.html
Copyright © 2011-2022 走看看