美文网首页
Shell 变量

Shell 变量

作者: 柠檬的眼泪是酸的 | 来源:发表于2019-02-10 14:40 被阅读0次

    Shell 变量

    定义变量时,变量名不加美元符号($,PHP语言中变量需要),如:var1="hello world"

    变量名称规则

    1、命名只能使用英文字母,数字和下划线,首个字符不能以数字开头

    2、中间不能有空格,可以使用下划线(_)

    3、不能使用标点符号

    4、不能使用bash里的关键字

    Shell变量赋值

    除了显式地直接赋值,还可以用语句给变量赋值:

    result=$(ls -la ./)或者 result=`ls -la ./`

    定义变量

    使用变量

    使用一个定义过的变量,在变量名前加美元符号

    使用变量

    使用变量重点

    echo ${imooc} (变量名外面的花括号是可选的,帮助解释器识别变量的边界)

    $(变量)使用

    运行结果为:

    执行结果

    已定义的变量,可以被重新定义

    重新定义变量

    运行结果为:

    执行结果

    只读变量,防止变量被污染

    使用readonly命令可以将变量定义为只读变量,只读变量的值不能被改变。

    imooc="imooc.com"

    readonly imooc

    imooc="www.imooc.com"  (报错)

    只读变量

    运行结果为:

    执行结果

    删除变量

    使用unset命令可以删除变量:

    imooc="imooc.com"

    unset imooc

    变量被删除后不能再次使用

    unset命令不能删除只读变量

    变量作用域

    作用域:

    局部变量(在当前shell种有效,其他Shell启动的程序无法访问)

    环境变量(所有程序均可访问)

    变量数据类型

    字符串:

    可以用单引号,可以用双引号,可以不用引号

    单双引号的区别跟PHP类似

    单引号不解析变量

    单引号字符串不能出现单独一个的单引号(对单引号使用转译符后也不行),但可成对出现,作为字符串拼接使用

    双引号里可以有变量,可以出现转义字符

    数据类型

    运行结果:

    执行结果

    转义字符:

    转义字符

    运行结果:

    执行结果

    字符串拼接:

    "hello,"$your_name"!"

    字符串长度

    echo ${#string}

    字符串长度

    运行结果:

    执行结果

    字符串截取

    echo ${string:1:4} 1代表从哪里开始,4代表截取的长度,字符串索引起始位为0

    字符串截取 执行结果

    字符串查找

    echo `expr index "$string" i` expr index是固定写法 i代表要查找的字符 查找出的索引是从1开始

    字符串查找 执行结果

    数组

    bash支持一维数组(不支持多维数组),并且没有限定数组的大小

    类似于C语言,数组元素的下标由0开始编号。获取数组种的元素要利用下标,下标可以是整数或算数表达式,其值应大于或等于0

    在Shell 中,用括号来表示数组,数组元素用空格符号分割开

    数组名=(值1 值2 ...值n)

    也可以不使用连续的下标,而且下标的范围没有限制

    数组定义

    读取数组 :${数组名[下标]}

    使用@符号可以获取数组中的所有元素 echo ${array_name[@]}

    获取数组长度:length=${#array_name[@]}

    获取数组单个元素的长度: length=${array_name[n]}

    Shell 注释

    单行注释 #

    多行注释

    :<<EOF   ...  EOF

    相关文章

      网友评论

          本文标题:Shell 变量

          本文链接:https://www.haomeiwen.com/subject/bsfzsqtx.html