一、字符串表示形式
字符串是Shell编程中最常用的数据类型,可以使用3种形式表示。
1. 单引号形式
name='xiaoqian'
在使用此形式表示字符串时,需注意以下几点。
单引号中的任何字符都会原样输出。
单引号字符串中的变量是无效的。
单引号字符串中不能出现单引号。
2. 双引号形式
name="xiaoqian"
str="Her name is $name"
echo $str
当执行该脚本时,输出如下内容。
Her name is xiaoqian
双引号表示的字符串中可以存在变量,当访问该字符串时,程序会解析其中的变量。如果字符串中变量前添加了符号\,则程序不会解析其中的变量,具体如下所示:
name="xiaoqian"
str="\$name is a variable"
echo $str
当执行该脚本时,输出如下内容:
$name is a variable
如果双引号形式的字符串中包含双引号字符,也需要在双引号前添加\,具体如下所示:
name="xiaoqian"
str="\"$name\""
3. 无引号形式
name=xiaoqian
echo $name
当执行该脚本时,输出如下内容。
xiaoqian
二、字符串处理
在编程时,字符串经常需要被处理,例如,求字符串的长度、查找子字符串等。接下来讲解几种常用的字符串处理方式,具体如下。
1. 获取字符串长度
name="xiaoqian"
echo ${#name} # 输出8
其中,${#name}表示字符串name的长度。
2. 提取子字符串
name="xiaoqian"
echo ${name:4:4} # 输出qian
其中,${name:4:4}表示从字符串name的第 5个字符开始截取4个字符。
3. 查找子字符串
name="xiaoqian"
echo `expr index "$name" a` # 输出3
echo `expr index "$name" ai` # 输出2
其中,第2行表示查找第一次字符a出现的位置,位置从1开始计算,如果返回0,则表示查找失败;第3行表示查找字符a或i出现的位置。
学习大数据开发,可以参考千锋大数据培训提供的学习路线,该学习路线提供完整的大数据开发知识体系,内容包含Linux&&Hadoop生态体系、大数据计算框架体系、云计算体系、机器学习&&深度学习。根据千锋提供的大数据学习路线图可以让你对学习大数据需要掌握的知识有个清晰的了解,并快速入门大数据开发。