1.3 注释单行以 # 开头的行就是注释,会被解释器忽略。
多行以:*<
# 注释内容...:<格式如下,“=”左右两边不能有空格
变量名=值
其中变量名的要求为:
命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。中间不能有空格,可以使用下划线 _。不能使用标点符号。不能使用bash里的关键字值的话没有要求,可以为整数、字符串、数组等,赋值完某个类型后,后面还可以继续再赋值为其他类型,示例如下:
# 定义一个字符串变量var=hello word# 定义一个值为1的变量var=1# 定义一个包含a、b、c的数组变量var=(a b c)使用变量
使用一个定义过的变量,只要在变量名前面加美元符号 $ 即可,示例如下:
var=hello word# 打印变量var的值,echo $var# 如果变量没有定义过,则值为空echo $test# 输出结果hello word只读变量
使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变。示例如下:
readonly val=ready only# 给只读变量再次赋值会报错val=test# 输出结果-bash: val:只读变量删除变量
使用 unset 命令可以删除变量。语法:
unset variable_name变量被删除后不能再次使用。 unset 命令不能删除只读变量 。示例如下:
var=hello wordunset varecho $var# 输出结果为空1.5 字符串字符串定义
字符串是shell编程中最常用最有用的数据类型,字符串可以用单引号,也可以用双引号,也可以不用引号(不用引用的情况中间不能有空格)。
str=this is stringstr='this is string'# 正确示例,无引号无空格str=thisisstring# 错误示例,无引号有空格str=this is string获取字符串长度
通过${#variable_name}方式获取,示例如下:
string=abcdecho ${#string}# 输出结果41.6 索引数组索引数组定义
数组中可以存放多个值。bash shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小。数组元素的下标由 0 开始。
shell 数组用括号来表示,元素用空格符号分割开,语法格式如下:
array_name=(value1 value2 ... valuen)赋值也支持指定索引位置赋值,示例如下:
# 数组赋值常见的两种方式array_name=(abc def)array_name[0]=abcarray_name[1]=def获取数组长度
同获取字符串长度一样,也是通过${#variable_name}方式获取,示例如下:
array_name=(abc def)# 打印数组长度echo ${#array_name}# 输出结果:2读取数组元素
指定索引位置的使用${array_name[index]},全部的使用${array_name[*]},示例如下:
array_name=(abc def)# 读取数组指定索引元素echo ${array_name[0]}# 读取数组全部的元素echo ${array_name[*]}#输出结果abcabc def
室内定位方案技能有哪些
1099元的小米“经典之作”, 性能完爆红米Note4
AI赋能智慧公安首次应用落地
智慧建筑大步向前的动力来自于哪里
关于公布2020年省级产业互联网平台示范项目的通知
shell脚本基础知识汇总2
Midtronics MDX-600AP系列蓄电池电导及电路系统分析仪
超低功耗微控制器是便携式设备运动控制的理想选择
提高SAP数据库的开发和管理并优化其性能
回归后的诺基亚市场成绩不错 闷声发大财
详谈常见的视频编码格式
苹果称霸全球 小米在国内则力压华为
人工智能“末日论”再次上演,机器人真的会带来人类的末路?机器人犯罪了又当如何处理?
风河VxWorks 653成为NASA“战神”运载火箭操作系
一文解析GSM系统的发展历史
夏普AQUOS zero:最轻的安卓旗舰,机身重量只有146g
美信推出G3-PLC的芯片组MAX2992
关于本田汽车公司新型1.6 L轿车柴油机性能分析
高级驾驶辅助系统的传感器布置策略
IC市场显示手机晶片价格飙升 CAGR达到6.7%