欢迎您的访问
专注于Java技术系列文章的Java技术分享网站

四、Shell 字符串

文章永久连接:https://tech.souyunku.com/?p=7629

字符串所有编程语言中最重要的一种数据类型,在 shell 中也一样重要

字符串可以用单引号引起来,也可以用双引号引起来,也可以不用引号。

单引号字符串

demo_str='这是一段字符串\n即使有换行符也不会换行'

单引号字符串的限制:

  • 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的
  • 单引号字串中不能出现单引号,对单引号使用转义符后也不行

单引号字符串使用范例

#!/bin/bash
# filename: demo.sh
# author:教程 
# url:tech.souyunku.com

name="搜云库技术团队"
demo_str='这是一段字符串 {name} 嵌入的变量名不会起作用'
echodemo_str

脚本运行结果

$ sh demo.sh
这是一段字符串 ${name} 嵌入的变量名不会起作用

双引号

name="搜云库技术团队"
demo_str="这是一段字符串 \{name} 嵌入的变量名会起作用{name}"

双引号的优点:

  • 双引号里可以有变量
  • 双引号里可以出现转义字符

范例: 双引号字符串使用范例

#!/bin/bash
# filename: demo.sh
# author:教程 
# url:tech.souyunku.com

name="搜云库技术团队"
demo_str="这是一段字符串 \{name} 嵌入的变量名会起作用{name}"
echo $demo_str

脚本运行结果

$ sh demo.sh
这是一段字符串 ${name} 嵌入的变量名会起作用 搜云库技术团队

拼接字符串

Shell 中拼接支付串只需要把两个字符串变量放到一起可以了,比如

greeting="hello, "
name="简明教程!"
demo_str={greeting}{name}

范例: 拼接字符串

site_name="搜云库技术团队(www.jiandanjiaocheng.com)"
greeting="hello, "site_name" !"
greeting_1="hello,{site_name} !"
demo_str={greeting}{greeting_1}
echo $demo_str

脚本运行结果

$ sh demo.sh
hello, 搜云库技术团队(www.jiandanjiaocheng.com) !hello, 搜云库技术团队(www.jiandanjiaocheng.com) !

获取字符串长度

使用 ${#变量名} 可以获取字符串的长度。

范例: 获取字符串长度

#!/bin/bash
# filename: demo.sh
# author:教程 
# url:tech.souyunku.com

site_name="搜云库技术团队(www.jiandanjiaocheng.com)"
echo ${#site_name}

运行脚本输出结果

$ sh demo.sh
30

提取子字符串

使用 ${#变量名:开始索引:提取长度} 可以提取子字符串

注意 字符串索引从 0 开始,也就是第一个字符的索引是 0

范例: 从 demo_str 中第 2 个字符开始提取 4 个字符

#!/bin/bash
# filename: demo.sh
# author:教程 
# url:tech.souyunku.com

site_name="搜云库技术团队(www.jiandanjiaocheng.com)"
echo ${site_name:1:4}

运行脚本输出结果

$ sh demo.sh
单教程(

如果省略截取长度,则表示一直到结束

#!/bin/bash
# filename: demo.sh
# author:教程 
# url:tech.souyunku.com

site_name="搜云库技术团队(www.jiandanjiaocheng.com)"
echo ${site_name:1}

脚本运行结果

$ sh demo.sh
单教程(www.jiandanjiaocheng.com)

延伸阅读

更多 Shell 字符串操作可以查看 cnblogs:linux shell 字符串操作(长度,查找,替换)详解

干货推荐

赞(63) 打赏



版权归原创作者所有,任何形式转载请联系作者;搜云库 » 四、Shell 字符串

本站:免责声明!

评论 抢沙发

一个专注于Java技术系列文章的技术分享网站

觉得文章有用就打赏一下文章作者

微信扫一扫打赏

微信扫一扫打赏