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

目录

1、数字

2、字符串

3、数组


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

1、数字

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

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

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

整数计算

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

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

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

2、字符串

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

不带引号的情况:

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

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

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

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

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

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

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

 3、数组

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

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

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

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

echo ${F[1]}     #打印出数组中下标为1的值
#打印的是下标为1的值 123

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

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


echo ${#F[*]}     #打印出数组中元素的个数
#打印结果为:4      数组中一共有4个元素

echo ${#F[@]}     #打印出数组中元素的个数
#打印结果为:4      数组中一共有4个元素

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

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


echo ${F[@]}     #打印出数组中的所有元素
#打印出了所有的元素 A 123 ATOM 你好

echo "${F[@]}"     #打印出数组中的所有元素
#打印出了所有元素    A 123 ATOM 你好

echo "${F[*]}"     #打印出数组中的所有元素
#打印出了所有元素    A 123 ATOM 你好

echo "${F[*]}"     #打印出数组中的所有元素,以一个字符串处理
#打印出了所有元素   但是这个是以一个字符串打印出来的 A 123 ATOM 你好


for i in ${F[@]};do echo $i;done      #使用for循环打印下就能看出来了
#打印结果
A
123
ATOM
你好

for i in "${F[@]}";do echo $i;done      #使用for循环打印下就能看出来了
#打印结果
A
123
ATOM
你好

for i in ${F[*]};do echo $i;done      #使用for循环打印下就能看出来了
#打印结果
A
123
ATOM
你好

for i in "${F[*]}";do echo $i;done      #使用for循环打印下就能看出来了
#打印结果 A 123 ATOM 你好

 


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

                                                          

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘阿童木

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值