• Linux与Shell学习--shell系列4--常用的数据类型(数字、字符串和数组)


    目录

    1、数字

    2、字符串

    3、数组


            Shell的常用的数据类型主要有以下三种,分别为数字、字符串和数组。

    1、数字

    数字主要分为整数(int)和浮点数(float)

    1. age=10 #定义一个整数10的变量名为age
    2. echo ${age} #显示该变量的值
    3. #输出结果为:10
    4. height=190.2 #定义一个浮点数190.2的变量名为height
    5. echo ${height} #显示该变量的值
    6. #输出结果为:190.2

    如果我们想计算两个整数和两个浮点数相加在shell中应该是什么样。

    整数计算

    1. A=10 #定义一个变量A的值是10
    2. B=5 #定义一个变量B的值是5
    3. echo$A+$B#先按着正常的思路来看下打印值是什么
    4. # 打印的结果为 “10+5”
    5. echo $[$A+$B] #在shell中所有变量默认都是字符串型,不能直接运算的,如果想直接运算需要用“$((运算式))”或“$[运算式]”这种形式
    6. #这样处理打印的结果就为 15 了
    7. echo "$(($A+$B))"
    8. #这样处理打印的结果就为 15 了

    浮点数计算   Shell默认不支持浮点数运算,需要通过第三方库bc进行浮点运算,安装方式为:yum -y install bc

    1. C=3.3 #给变量C赋值浮点数3.3
    2. D=3.4 #给变量D赋值浮点数3.4
    3. echo "$C+$D" #看下浮点数能不能正常显示出来
    4. #浮点数可以正常显示出来 3.3+3.4
    5. echo $[$C+$D] #再用下计算整数的方法去计算浮点数试试
    6. #但是计算时就会报错了 -bash: 3.3+3.4: syntax error: invalid arithmetic operator (error token is ".3+3.4")
    7. echo "$C+$D" | bc #计算浮点数就需要安装第三方库bc来进行计算了
    8. #安装bc后进行计算可以正常计算出来 6.7 bc安装方式:yum -y install bc

    2、字符串

    字符串在shell中可以使用单引号、双引号或者不带引号都行,但是建议最好根据实际情况去选用单引号或者双引号,不要不带引号,有时候变量中如果有空格是很容易出错的。

    不带引号的情况:

    1. Atom=apeople #定义变量Atom,变量值中没有空格
    2. echo ${Atom} #显示该变量的值
    3. #变量的值为apeople
    4. Atom1=a people #定义变量Atom1,变量中的值有空格
    5. #直接报错 -bash: people: 未找到命令
    6. echo ${Atom1} #显示该变量的值
    7. #尝试显示Atom1的变量的值,显示值为空

     单引号和双引号在上一章已经说过了,正好这里在复习下。

    单引号:单引号会直接打印出单引号里的值,不会去关注里面有没有变量啊什么的,会原封不动的把单引号里面的值打印出来。

    1. Atom2=good #首先定义一个变量Atom2
    2. Atom3='two ${Atom2}' #在定义一个变量Atom3,观察其变量值,看看打 印结果是什么
    3. echo ${Atom3} #显示该变量的值
    4. #打印结果为 :two ${Atom2}

     双引号:如果我们想在变量值里加上其他变量并且打印出其变量的值,这时候我们就可以使用双引号。

    1. Atom4=good #首先定义一个变量Atom4
    2. Atom5="two ${Atom2}" #在定义一个变量Atom5,这次使用双引号观察其 变量值,看看打印结果是什么
    3. echo ${Atom5} #显示该变量的值
    4. #Atom5的变量的值为two good

     获取字符串的长度     在变量名前加#号即可    

     3、数组

            在Shell中,仅支持一维数组,元素下标由0开始,可通过下标进行赋值和取值操作,Shell 数组用括号来表示,元素用"空格"符号分割开。

    F=(A 123 ATOM 你好)   #定义一个数组F

    在数组中可以使用下标来取出来对应的值,${变量名[下标]}

    1. F=(A 123 ATOM 你好) #定义一个数组F
    2. echo ${F[1]} #打印出数组中下标为1的值
    3. #打印的是下标为1的值 123

    在数组中可以使用#来计算数组的长度,${#变量名[*]}或者${#变量名[@]}

    1. F=(A 123 ATOM 你好) #定义一个数组F
    2. echo ${#F[*]} #打印出数组中元素的个数
    3. #打印结果为:4 数组中一共有4个元素
    4. echo ${#F[@]} #打印出数组中元素的个数
    5. #打印结果为:4 数组中一共有4个元素

    要获取数组中的所有元素可以有以下几个方法,${变量名[*]}或者${变量名[@]}或者"${变量名[@]}";如果想以一个元素的形式输出的话需要加上双引号"${#变量名[*]}"。(使用"${变量名[@]}"输出的也是多个元素的形式)

    1. F=(A 123 ATOM 你好) #定义一个数组F
    2. echo ${F[@]} #打印出数组中的所有元素
    3. #打印出了所有的元素 A 123 ATOM 你好
    4. echo "${F[@]}" #打印出数组中的所有元素
    5. #打印出了所有元素 A 123 ATOM 你好
    6. echo "${F[*]}" #打印出数组中的所有元素
    7. #打印出了所有元素 A 123 ATOM 你好
    8. echo "${F[*]}" #打印出数组中的所有元素,以一个字符串处理
    9. #打印出了所有元素 但是这个是以一个字符串打印出来的 A 123 ATOM 你好
    10. for i in ${F[@]};do echo $i;done #使用for循环打印下就能看出来了
    11. #打印结果
    12. A
    13. 123
    14. ATOM
    15. 你好
    16. for i in "${F[@]}";do echo $i;done #使用for循环打印下就能看出来了
    17. #打印结果
    18. A
    19. 123
    20. ATOM
    21. 你好
    22. for i in ${F[*]};do echo $i;done #使用for循环打印下就能看出来了
    23. #打印结果
    24. A
    25. 123
    26. ATOM
    27. 你好
    28. for i in "${F[*]}";do echo $i;done #使用for循环打印下就能看出来了
    29. #打印结果 A 123 ATOM 你好

     


     下图为公众号二维码,内容会同步发出,大家可以关注一起学习

                                                              

  • 相关阅读:
    SQL语句练习
    腾讯云CVM服务器5年可选2核4G和4核8G配置
    接口测试常用工具及测试方法
    dumpstate log总结
    后端框架有哪些
    Redis Lua Java 随机编号 用户编号
    【无标题】
    Dapr v1.9.0 版本已发布
    Ansible自动化部署安装openGauss3.1企业版单机
    虚拟运营商与实体运营商的apn匹配逻辑
  • 原文地址:https://blog.csdn.net/weixin_42893232/article/details/125531656