2.shell变量

来源:互联网 发布:淘宝限时特价 编辑:程序博客网 时间:2024/05/22 13:26
1.shell变量名的命名规则:
    (1)首个字符必须为字母
    (2)中间不能有空格,可以使用下划线
    (3)不能使用标点符号
    (4)不能使用bash中的关键字
   如:your_name="hello"
可以用语句给变量赋值。如:for file in 'ls /etc'  是将 /etc 下目录的文件名循环列出来

2.使用变量:使用一个定义过的变量,需要在变量名前面加美元符号:echo $your_name 或 echo ${your_name} 。加花括号是为了帮助解释器识别变量的边界。

3.只读变量:使用readonly命令可以将变量定义为制度变量,其值不可被改变。
    如:my_name="aaa"
           readonly my_name
           my_name="bbb"
    运行脚本时候,就会报错。

4.删除变量:使用unset命令。语法:unset variable_name。unset命令不能删除只读变量。

变量类型:3种。
    (1)局部变量:在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。
    (2)环境变量:所有的程序,包括shell启动的程序都能访问。有些程序需要环境变量来保证其运行正常。
    (3)shell变量:由shell程序设置的特殊变量。其中有一部分是环境变量,一部分是局部变量,这些变量保证率shell的正常运行。

shell字符串:shell编程中最常用的数据类型,可以用单引号,也可以用双引号,也可以不用引号。
1.单引号字符串的限制:
        (1)单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的。
        (2)单引号字符串中不能出现单引号。
2.双引号:双引号里可以有变量 && 双引号中可以出现转义字符。如:
                    a="hello, "\"$your_name\" ! \n"#此处输出时候\n不会换行,要用echo -e 命令
3.拼接字符串
                    b="hello, "$your_name" !"
                    c="hello, ${your_name} !"
4.获取字符串长度
                    echo ${#your_name} #输出3
5.提取子字符串
                    string="what's your name"
                    echo ${string:1:4}#输出 hat'
6.查找子字符串
                    echo  `expr index "$string" wh`#查找w或者h的位置,输出为1

shell数组:bash支持一维数组,不支持多维,并且没有限定数组的大小。
数组元素下标从0开始,获取元素利用下标,下标可以是整数或算术表达式。
1. 定义数组:
        数组名={值1 值2 ... 值n} 或者
        单独定义数组各个分量:array[0]=value0 
                                            array[1]=value1.....
2.读取数组:
        ${数组名[下标]}
    使用@符号可以获取数组中的所有元素:echo ${array[@]}
3.获取数组长度:
        获得数组元素的个数:length=${#array[@]} 或者 length=${#array[*]}
        获得数组单个元素的长度:lengthn=#{#array[n]}
  

   shell注释:以“#”开头的行就是注释,会被解释器忽略。sh中没有多行注释。
   若想要注释大段代码,可以将代码用一对花括号括起来,定义成一个函数,没地方调用此函数,这代码快也就不会执行。
原创粉丝点击