Shell学习计划——Shell 字符串

我们学习的所有编程语言中都存在字符串,在shell中也同样存在并且十分重要。

字符串可以用单引号、双引号,也可以不用引号

 

一、单引号字符串

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

单引号字符串的限制:

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

单引号字符串使用范例

#!/bin/bash
# filename: demo.sh
# author:小白
# url:www.baidu.cn

name="小白"
demo_str='这是一段字符串 ${name} 嵌入的变量名不会起作用'
echo $demo_str

脚本运行结果

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

二、双引号字符串

name="小白"
demo_str="这是一段字符串 \${name} 嵌入的变量名会起作用 ${name}"

双引号的优点:

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

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

#!/bin/bash
# filename: demo.sh
# author:小白
# url:www.baidu.cn

name="小白"
demo_str="这是一段字符串 \${name} 嵌入的变量名会起作用 ${name}"
echo $demo_str

脚本运行结果

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

 

三、拼接字符串

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

greeting="hello, "
name="小明!"
demo_str=${greeting}${name}

范例: 拼接字符串

site_name="小白(www.baidu.com)"
greeting="hello, "$site_name" !"
greeting_1="hello, ${site_name} !"
demo_str=${greeting}${greeting_1}
echo $demo_str

脚本运行结果

$ sh demo.sh
hello, 小白(www.baidu.com) !hello, 小白(www.baidu.com) !

 

四、常见用法

1、获取字符串长度

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

范例: 获取字符串长度

#!/bin/bash
# filename: demo.sh
# author:小白
# url:www.baidu.cn

site_name="小白(www.baidu.com)"
echo ${#site_name}

运行脚本输出结果

$ sh demo.sh
13

2、提取子字符串

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

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

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

#!/bin/bash
# filename: demo.sh
# author:xiaobai
# url:www.baidu.cn

site_name="小白(www.baidu.com)"
echo ${site_name:1:4}

运行脚本输出结果

$ sh demo.sh
白(WW

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

#!/bin/bash
# filename: demo.sh
# author:小白
# url:www.baidu.cn

site_name="小白(www.baidu.com)"
echo ${site_name:1}

脚本运行结果

$ sh demo.sh
白(www.baidu.com)

我们字符串就简单学习到这里,明天见!努力每天一学!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值