Shell 变量

作者: 谢小帅 | 来源:发表于2017-05-03 15:06 被阅读0次

    shell变量

    • 给变量赋值时,等号两边一定不能留空格,若变量中本身就包含了空格,则整个字符串都要用双引号括起来
    • echo -e "\n" 使用转义字符
    • readonly 表示只读变量
    • unset 删除变量,unset不能删除readonly变量
    #!/bin/bash
    
    name="shuai" # 不能有空格
    echo $name
    echo ${name} # 加花括号是为了帮助解释器识别变量的边界,可以不要
    
    echo "" # 当做换行使用
    
    echo "转义字符"
    echo -e "\n" # -e表示打印转义字符
    echo "\n"
    echo ""
    
    echo "只读变量"
    readonly age=20 # 只读变量
    echo $age
    
    echo "删除变量"
    unset name # 删除变量,unset不能删除readonly变量
    echo $name
    

    shell字符串

    双引号

    • 双引号可以有变量
    • 双引号可以出现转义字符
    #!/bin/bash
    
    name="shuai"
    
    str="我的名字是${name}\n"
    
    echo -e $str # \n还是需要-e解析
    

    输出

    ShuaideMacBook-Pro:Desktop shuai$ ./a.sh
    我的名字是shuai
    
    ShuaideMacBook-Pro:Desktop shuai$ 
    

    字符串拼接

    • 变量直接排列
    #!/bin/bash
    
    name="shuai"
    para="hello"
    str=$para,$name # 拼接字符串,','后面不能有空格
    echo $str
    

    输出

    ShuaideMacBook-Pro:Desktop shuai$ ./a.sh
    hello,shuai
    

    字符串长度

    #!/bin/bash
    
    name="shuai"
    echo ${#name} # 变量长度
    

    输出

    ShuaideMacBook-Pro:Desktop shuai$ ./a.sh
    5
    

    子字符串

    #!/bin/bash
    
    str="I am a good boy"
    echo ${str:1:3} # 跳过空格
    echo ${str:0:3}
    

    输出

    ShuaideMacBook-Pro:Desktop shuai$ ./a.sh
    am // 无视空格,后移
    I a
    

    shell数组

    • 元素之间以 空格 分开
    • @ or * 输出所有元素
    #!/bin/bash
    
    array=("apple" "banana" "orange") # 数组元素之间以空格分开,不是","
    echo ${array[1]} # 输出第2个elem
    echo ${array[@]} # 输出所有元素,@和*都可以
    echo ${array[*]}
    echo ${#array[@]} # 数组长度
    echo ${#array[*]}
    echo ${#array[1]} # 第2个elem(banana)的长度
    

    输出

    ShuaideMacBook-Pro:Desktop shuai$ ./a.sh
    banana
    apple banana orange
    apple banana orange
    3
    3
    6
    

    相关文章

      网友评论

        本文标题:Shell 变量

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