发布时间2019-07-29 21:53:21
90
0
0

基本元素

  1. 定义变量 myname=dsheldon 不需要添加 $ 符号,但是调用的时候需要添加 $ 符号,最好加上大括号,帮助识别变量边界。
  2. 只读变量
    appname=blog
    readonly appname
  3. 删除变量 unset myname unset 不能删除只读变量
  4. 变量类型
    • 局部变量:在脚本或命令中定义,仅在当前shell实例中有效,其他shell 启动的程序不能访问局部变量。
    • 环境变量:所有程序可以访问,包括shell启动的程序。
    • shell 变量:由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行
  5. 字符串 可以使用单引号,也可以使用双引号,可以不用引号。单双引号和 PHP 相同。
    • 单引号不解析,任何字符都会原样输出。
    • 单引号字符串内不能出现单独的一个单引号,转义符也不行,但是可以成对出现,作为字符串拼接使用
  6. 拼接字符串
    yourname=zhangsan
    welcome="hello,"$yourname"!"
    welcome="hello,${yourname}!"
    welcome='hello,'$yourname'!'
    welcome='hello,${yourname}'//错误,不解析
  7. 数组
  8. 传递参数
  9. 基本运算符 原生 bash 不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。
    • 算术运算符:+ - * / % =(赋值) == !=
    • 关系运算符:-eq -ne -gt -lt -ge -le
    • 布尔运算符:!(非) -o(或) -a(与)
    • 逻辑运算符:&& ||
    • 字符串运算符:= != -z(长度是否为0) -n(长度是否不为0) $(检测字符串是否不为空)
      val=`expr 2 + 2`
      echo "2 + 2 = ${val}" # 2 + 2 = 4
      if [10 -eq 20]
      then
      echo "10 -eq 20 : 10 等于 20"
      else
      echo "10 -eq 20 : 10 不等于 20"
      fi