美文网首页
0011-Shell字符串(最常用的数据类型)

0011-Shell字符串(最常用的数据类型)

作者: Col_ | 来源:发表于2019-11-06 23:21 被阅读0次

    字符串的定义可以用单引号,也可以双引号,也可以不用引号。

    0001-单引号

    str='this is a string'
    

    单引号字符串的限制:

    • 单引号里的任何字符都会原样输出,单引号字符串中的变量时无效的。
    • 单引号字符串中不能出现单独一个的单引号(对单引号使用转义符号也不行),但可成对出现,作为字符串拼接使用。

    str='I am ''a ''good boy' #单引号里有两对单引号,不是双引号。
    echo $str

    运行结果:

    I am a good boy
    

    0010-双引号

    my_name='cool'
    str="Hello, my name is \"$my_name\"! \n"
    echo -e $str
    

    运行结果:

    Hello, my name is "cool"!
    

    双引号的优点:

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

    0011-拼接字符串

    your_name="cool"
    #使用双引号拼接
    greeting="hello,"$your_name" !"
    greeting_1="hello,${your_name} !"
    echo $greeting $greeting_1
    #使用单引号拼接
    greeting_2='hello, '$your_name' !'
    greeting_3='hello, ${your_name} !'
    echo $greeting_2 $greeting_3
    

    运行结果:

    hello,cool ! hello,cool !
    hello, cool ! hello, ${your_name} !
    

    0100-获取字符串长度

    ${#variable_name}获取长度.

    String="abcd"
    echo ${#String}
    

    运行输出4.

    0101-提取字符串

    ${variable_name:position:length}提取字符串。

    String="I am a good boy"
    echo ${String:2:9}
    

    运行结果:am a good

    0110-查找子字符串

    index "$variable_name" char查找子字符
    查找字符a或o的位置(哪个字符先出现就计算哪个)

    string="I am a good boy"
    echo `expr index "$string" ao`
    

    运行结果:3

    注意:以上脚本`是反引号,不是单引号。

    相关文章

      网友评论

          本文标题:0011-Shell字符串(最常用的数据类型)

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