Shell脚本学习

PART I --- Shell变量

  1. 变量类型:
    • 1)局部变量: 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。
      2)环境变量: 所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。
      3)shell变量: shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行
  2. 变量相关操作:
  • 1)声明变量: name = "ceshi"
    2)使用变量: $name 或者 ${name}
    1. 只读变量: ceshi = "只读变量" readonly ceshi
    2. 删除变量: unset 变量名称
  1. Shell 字符串:
  • 1)可以用单引号和双引号声明,也可以都不用
    2)获取字符串的长度:
      string="abcd"
      echo ${#string}       #输出:  4
    
  • 3)提取子字符串: 从例子字符串第 2 个字符开始截取 4 个字符
str = "dhahdjadhja"
echo ${string:1:4}          #输出:  hahd
  • 4)查找字符串: 查找字符 i 或 o 的位置(哪个字母先出现就计算哪个)
string="runoob is a great site"
echo `expr index "$string" io`  # 输出 4
  1. Shell 数组:
  • 1)定义数组: array = (val1 val2 val3 ... valn) or array_name=(
    value0
    value1
    value2
    value3
    )
    1. 读取数组: valn = {array_name[@]}
  1. Shell 运算符:Shell 和其他编程语言一样,支持多种运算符,包括:
  • 算数运算符
  • 关系运算符
  • 布尔运算符
  • 字符串运算符
  • 文件测试运算符

Attention:原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。expr 是一款表达式计算工具,使用它能完成表达式的求值操作

你可能感兴趣的:(Shell脚本学习)