shell脚本——字符串 数组
字符串
字符串可以用单引号,也可以用双引号,也可以不用引号。单双引号的区别跟PHP类似。
单引号
str='this is a string'
单引号字符串的限制:
- 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;
- 单引号字串中不能出现单引号(对单引号使用转义符后也不行)。
双引号
your_name='qinjx' str="Hello, I know you are \"$your_name\"! \n"
双引号的优点:
- 双引号里可以有变量
- 双引号里可以出现转义字符
拼接字符串
your_name="qinjx" greeting="hello, "$your_name" !" greeting_1="hello, ${your_name} !" echo $greeting $greeting_1
获取字符串长度
string="abcd" echo ${#string} #输出 4
提取子字符串
以下实例从字符串第 2 个字符开始截取 4 个字符:
string="runoob is a great site" echo ${string:1:4} # 输出 unoo
查找子字符串
查找字符 "i 或 s" 的位置:
string="runoob is a great company" echo `expr index "$string" is` # 输出 8
注意: 以上脚本中 "`" 是反引号,而不是单引号 "'",不要看错了哦。
Shell 数组
bash支持一维数组(不支持多维数组),并且没有限定数组的大小。
类似与C语言,数组元素的下标由0开始编号。获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0。
定义数组
在Shell中,用括号来表示数组,数组元素用"空格"符号分割开。定义数组的一般形式为:
数组名=(值1 值2 ... 值n)
例如:
array_name=(value0 value1 value2 value3)
或者
array_name=( value0 value1 value2 value3 )
还可以单独定义数组的各个分量:
array_name[0]=value0 array_name[1]=value1 array_name[n]=valuen
可以不使用连续的下标,而且下标的范围没有限制。
读取数组
读取数组元素值的一般格式是:
${数组名[下标]}
例如:
valuen=${array_name[n]}
使用@符号可以获取数组中的所有元素,例如:
echo ${array_name[@]}
获取数组的长度
获取数组长度的方法与获取字符串长度的方法相同,例如:
# 取得数组元素的个数 length=${#array_name[@]} # 或者 length=${#array_name[*]} # 取得数组单个元素的长度 lengthn=${#array_name[n]}
shell脚本——字符串 数组相关推荐
- shell脚本字符串截取
shell脚本字符串截取的8种方法 假设变量 var=http://www.aaa.com/123.htm. 1. # 号截取,删除左边字符,保留右边字符. echo ${var#*//} 其中 va ...
- shell脚本字符串截取的8种方法
shell脚本字符串截取的8种方法 假设有变量 var=http://www.aaa.com/123.htm. 1. # 号截取,删除左边字符,保留右边字符. 1 echo ${var#*//} 其中 ...
- shell脚本中数组的使用_Shell脚本中的数组
shell脚本中数组的使用 Knowing how to work with arrays in shell scripts will help you work with larger datase ...
- linux shell脚本字符串连接符,学习Linux shell脚本中连接字符串的方法
这篇文章主要介绍了Linux shell脚本中连接字符串的方法,如果想要在变量后面添加一个字符,可以用一下方法: 代码如下: $value1=home $value2=${value1}"= ...
- shell脚本--字符串处理和动态数组
Linux下的文本处理命令,以清晰的列分割数据为高效处理源: awk 的gsub函数可替换指定字符串 echo "<tr><td>col1</td>< ...
- linux shell脚本字符串 字段分隔符 存入数组 根据下标取值
字段分隔 逗号分隔 [root@oracle low]# cat test1.sh #!/bin/bashtxt='123,456,789'ifs_old=$IFSIFS=$','for i in $ ...
- shell脚本中数组的长度表示
1.shell数组的长度 ${#array[@]} ${#array[*]} 2.shell数组的所有成员 ${array[*]} 3.字符串的长度 ${#str}
- Shell脚本学习-数组
跟着RUNOOB网站的教程学习的笔记 Shell数组 数组中可以存放多个值,Bash Shell只支持一维数组(不支持多维数组),初始化时不需要定义数组大小(与PHP类似). 与大部分编程语言类似,数 ...
- shell脚本-字符串和变量
变量.字符串 定义变量+查看变量值 name=jerry #定义变量值 # echo $name jerry #查找变量值 变量类型:运行shell时,会同时存在三种变量 局部变量:仅在当前shell ...
最新文章
- 这届 AI 预测欧洲杯冠军,通通被打脸
- SilverLight4:在MVVM架构下实现模式窗口
- 一天搞定CSS:背景background--03
- springwebflux 页面_Spring Webflux 响应式框架入门
- python处理一个文件夹下的所有文件并保存在新的文件夹
- STM8学习笔记---NTC热敏电阻的使用
- php windows svn,windows下安装svnmanager
- 微鲸科大讯飞、出门问问合作 TA的语音功能怎么样?
- StyleCop学习笔记——初识StyleCop
- Jumpserver代码规范
- 量子力学概论_科学网—《量子力学导论》潘必才 - 中国科大出版社的博文
- 张小龙:微信产品观(上)
- 华为销售专家LTC专家许浩明老师:流程是数字化转型的基础,以华为营销LTC,华为铁三角为例
- 海信75E5K怎么样 海信75E5K和75E5H区别 哪个好
- FSCIL 小样本类增量学习
- 如何快速剪辑多个视频,将视频分段保存导出播放
- MAX31865模块的使用-基于ZigBee_CC2530芯片 PT100测温
- 时序分析(8) -- GARCH(p,q)模型
- cnn 句向量_快速理解句向量模型,深度好文,一定要看
- Linux的vi编辑器下的常用命令
热门文章
- linux网络服务器框架转载
- Java中用StreamTokenizer与Scanner读取数据
- [leetcode] 22. Generate Parentheses
- python将dict中的unicode打印成中文
- 【090723】动态调用webservice
- 刚才遇到了关于C#使用外部DLL函数上的char*的问题。
- 利用Canny边缘检测算子进行边缘检测的原理及OpenCV代码实现
- 在OpenCV环境下写的灰度图像二维傅里叶换,幅值计算,频谱平移和将数值归一化到0到255区间的四个函数
- plsql连接oracle报错12514,plsql 登录 oracle11 12514 错误的处理方法
- java防止用户越权访问文件_针对功能权限(url访问)如何避免越权访问