Shell 字符串 数组
来源:互联网 发布:hive sql 语法 编辑:程序博客网 时间:2024/05/01 13:04
Shell 中 注释只有 # 跟一行 没有多行注释
字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。单双引号的区别跟PHP类似。
单引号
- str='this is a string'
- 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;
- 单引号字串中不能出现单引号(对单引号使用转义符后也不行)。
双引号
- your_name='qinjx'
- str="Hello, I know your 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
提取子字符串
- string="alibaba is a great company"
- echo ${string:1:4} #输出liba
查找子字符串
- string="alibaba is a great company"
- echo `expr index "$string" is`
Shell在编程方面比Windows批处理强大很多,无论是在循环、运算。
bash支持一维数组(不支持多维数组),并且没有限定数组的大小。类似与C语言,数组元素的下标由0开始编号。获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0。
定义数组
在Shell中,用括号来表示数组,数组元素用“空格”符号分割开。定义数组的一般形式为:array_name=(value1 ... valuen)
例如:
- array_name=(value0 value1 value2 value3)
- array_name=(
- value0
- value1
- value2
- value3
- )
还可以单独定义数组的各个分量:
- array_name[0]=value0
- array_name[1]=value1
- array_name[2]=value2
读取数组
读取数组元素值的一般格式是:${array_name[index]}
例如:
- valuen=${array_name[2]}
- #!/bin/sh
- NAME[0]="Zara"
- NAME[1]="Qadir"
- NAME[2]="Mahnaz"
- NAME[3]="Ayan"
- NAME[4]="Daisy"
- echo "First Index: ${NAME[0]}"
- echo "Second Index: ${NAME[1]}"
$./test.shFirst Index: ZaraSecond Index: Qadir使用@ 或 * 可以获取数组中的所有元素,例如:
- ${array_name[*]}
- ${array_name[@]}
- #!/bin/sh
- NAME[0]="Zara"
- NAME[1]="Qadir"
- NAME[2]="Mahnaz"
- NAME[3]="Ayan"
- NAME[4]="Daisy"
- echo "First Method: ${NAME[*]}"
- echo "Second Method: ${NAME[@]}"
$./test.shFirst Method: Zara Qadir Mahnaz Ayan DaisySecond Method: Zara Qadir Mahnaz Ayan Daisy
获取数组的长度
获取数组长度的方法与获取字符串长度的方法相同,例如:
- # 取得数组元素的个数
- length=${#array_name[@]}
- # 或者
- length=${#array_name[*]}
- # 取得数组单个元素的长度
- lengthn=${#array_name[n]
阅读全文
0 0
- Shell 字符串 数组
- shell 字符串数组的用法
- shell 字符串数组的用法
- shell 数组(字符串下标)
- shell 字符串数组的使用
- shell切分字符串到数组
- shell数组与字符串操作
- Shell编程(三)---字符串、数组
- Shell:环境、变量、字符串、数组
- shell 分割字符串存至数组
- shell 分割字符串存至数组
- Shell编程之数组、字符串基本操作
- shell 分割字符串存至数组
- shell 分割字符串存至数组
- Shell学习--(3)替换,字符串,数组
- linux shell将字符串分割数组
- Shell注释+字符串+数组
- Shell—变量、字符串和数组
- C# FileSystemWatcher 在监控文件夹和文件时的用法
- 初识Python列表
- java网络编程2—流
- 一、基本数据类型
- spring 后置处理器BeanFactoryPostProcessor和BeanPostProcessor的用法和区别
- Shell 字符串 数组
- STM32使用DMA从串口读数据到内存
- 从今天开始系统学习第一款语言JAVA
- 敏捷开发和RUP进行比较
- 前端常用的通信技术
- kaggle——Digit Recognizer
- yii blogdemo2 资料源码下载地址
- 机器学习基础知识
- 软件著作权的优缺点