摘要:本文主要学习了Shell脚本中的变量和数据类型。

变量

定义变量的语法

定义变量时,变量名和变量值之间使用“=”分隔,并且等号两边不能有空格:

变量名=变量值

变量名规则

变量名的定义必须遵循以下规则:

1 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。

2 中间不能有空格,可以使用下划线。

3 不能使用标点符号。

4 不能使用bash里的关键字。

使用变量

使用一个定义过的变量,只要在变量名前面加美元符号即可,建议将变量名使用“{}”括起来之后再添加美元符号:

echo ${name}

修改变量为只读

使用readonly命令可以将变量定义为只读变量,只读变量的值不能被改变,也不能被删除:

readonly name

删除变量

使用unset命令可以删除变量,但不能删除只读变量:

unset name

数据类型

字符串

字符串是shell编程中最常用最有用的数据类型,字符串可以用单引号,也可以用双引号,也可以不用引号。

建议使用双引号,因为双引号里可以有变量和特殊字符,可以按照变量和特殊字符去使用。

声明字符串类型的变量:

name="Sam"

拼接字符串:

hello="hello, $name !"

整数型

在Shell中所有的变量默认都是字符串型。也就是说,如果不手工指定变量的类型,那么所有的数值都是不能进行运算的:

1 [root@localhost ~]# a=1

2 [root@localhost ~]# b=2

3 [root@localhost ~]# c=$a+$b

4 [root@localhost ~]# echo $c

5 1+2

如果想要进行数学运算,可以使用“$((运算式))”或“$[运算式]”方式运算:

1 [root@localhost ~]# echo $(($a+$b))

2 3

3 [root@localhost ~]# echo $[$a+$b]

4 3

数组

bash支持一维数组(不支持多维数组),并且没有限定数组的大小。用括号来表示数组,数组元素用空格符号分割开。定义数组的一般形式为:

数组元素的下标由0开始编号。获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0。

声明数组类型的变量:

数组名=(值1 值2 ... 值n)

也可以通过指定下标来声明:

数组名[下标]=值

获取数组指定下标的值:

${数组名[下标]}

使用“@”符号可以获取数组中的所有元素:

${数组名[@]}

linux shell 数据类型,Linux Shell脚本 - 变量和数据类型相关推荐

  1. 查看scala变量数据类型_Scala文字,变量和数据类型| Scala编程教程

    查看scala变量数据类型 1)Scala数据类型 (1) Scala Data Types) Scala has the same set of data types as in Java. The ...

  2. php获取变量数据类型,php如何确定变量的数据类型

    在php中,数据类型有:Boolean 布尔类型.Integer 整型.Float 浮点型.String 字符串.Array 数组.Object 对象.Resource 资源类型.NULL;知道一个数 ...

  3. python学习之第三课时--基本数据类型及区别,变量

    python学习之第三课时--基本数据类型及区别,变量 基本数据类型及区别 1. 数字类型(int) 数字型--变量值直接是数字,没有双引号""   整数 2. 浮点数(float ...

  4. 字符变量赋值规则_Java的常量、变量、数据类型(基础篇二)

    标识符 标识符:是指在程序中自己定义的内容,如类名.方法名.变量名等等. 命名规则:是有硬性要求的 关键字:是指Java已经定义好的单词,具有特殊含义,比如public.static.class.vo ...

  5. Javascript数据类型:变量与数据类型 数字型Number 字符串型String 布尔型Boolean Undefined和Null 检测变量typeof 数据类型转换 标识符 关键字 保留字

    数据类型 一.数据类型意义 二.变量与数据类型 三.简单数据类型 1.数字型 Number 2.字符串型 String 3.布尔型 Boolean 4.未定义数据类型 Undefined 5.空值 N ...

  6. JavaScript基础之三JavaScript变量和数据类型

    1. JavaScript变量和数据类型 1.0 js变量和数据类型 在我们平时开发中,使用最多的并不是固定的数据, 而是会变换的数据: 比如购物车商品的数量.价格的计算等等: 比如一首歌曲播放的时间 ...

  7. 学长教你学C-day5-C语言变量与数据类型

      小韩是一个学习比较刻苦认真的学生,虽然老师上课进度刚讲到输入输出,但是小韩已经自学到C语言指针部分的内容了.但是进度太快的弊端就是有些东西很难消化吸收,这不就遇到了问题,来请教小刘:"学 ...

  8. 【Linux】《Linux命令行与shell脚本编程大全 (第4版) 》笔记-Chapter6-Linux 环境变量

    六.Linux 环境变量 bash shell 使用环境变量来存储 shell 会话和工作环境的相关信息(这也是被称作环境变量的原因).环境变量允许在内存中存储数据, 以便 shell 中运行的程序或 ...

  9. linux脚本变量运算符,linux——Shell 脚本基础篇(变量类型,变量操作,定义,运算与逻辑关系)...

    Shell 脚本基础 1.变量 什么是变量 #a=1 # echo $a 1 变量:可以变化的量 1.2变量名称注意事项 变量名不能以数字开头 不能与系统中已有的环境变量重名,尽量不要全部使用大写,尽 ...

最新文章

  1. window mysql 字符集_Windows mysql默认字符集修改
  2. 替换功能replaceAll
  3. AtCoder Regular Contest 092 Two Sequences AtCoder - 3943 (二进制+二分)
  4. LTM设备上ping不通网关
  5. memcache 总结笔记
  6. 尾气冒黑烟是什么问题_烟囱里冒得白烟、黑烟、黄烟有什么危害?
  7. GigaSpaces Grid for dataBase Cashing
  8. android json 解析 arraylist,android – 将ArrayList转换为JSONArray
  9. 无纸化办公软件app 快用这款科学处理办公事宜的便签
  10. 测试用例设计方法-场景法详解
  11. 大数据面试题知识点分析(十一)之Flume面试真题及答案
  12. 慧极必伤,情深不寿,强极则辱;谦谦君子,温润如玉
  13. 解析ArcGis的字段计算器(四)——日期字段计算
  14. popen和system函数的区别 以及 popen打开的FILE指针能否用close替代fclose关闭
  15. Lust in life
  16. 含磷废水处理——有机磷无机磷吸附
  17. RBA验厂辅导,RBA验厂准备过程中有没有比较困难需要留意的地方
  18. ipad 使用command快捷键的用法。
  19. 青软贯穿任务java8_8Spring初步----青软S2SH(笔记)
  20. 蓝桥杯练习题十一 - 乘积尾零(c++)

热门文章

  1. postfix邮件管理
  2. 记录一次hive的JVM调优
  3. springboot 集成xxl-job 定时任务管理平台
  4. [答学员问】对于低学历的我,想找一个培训机构学习Linux网络运维,哪个培训机构教学稍微好一点呢?
  5. 司马南点火下的联想困局:始于业务,止于人事
  6. 《四书五经》之大学全文、注释及读解 好东西啊
  7. “大数据治理”专题导读
  8. JS实现div宽度、高度拉伸
  9. JSON和BSON的区别
  10. 商家代运营=商家+代运营?