Linux系统Shell字符串变量

9 篇文章 0 订阅

字符串的定义三种方式

1、单引号的格式:不推荐:任何字符都会原样输出,再拼接字符串中使用单引号是无效的。
2、双引号的格式,推荐:其中包含了变量,那么该变量会被解析得到值,而不是原样输出。字符串中还可以出现双引号的子字符串,但是需要转义
3、不用引号的格式:出现变量也可以被解析,但是拼接字符串不能加空格,如果有空格 空格后边内容作为命令执行

var1='abc'
var1="abc"
var1=abc

var1="abc"
echo "you are welcome,\"${var1}\"" 输出结果是:you are welcome,abc

获取字符串的长度:${#变量名称}

${#var1} 获取字符串的长度 

三种字符串的区别:
总结:单引号是原样输出,不解析变量;双引号会解析变量并且可以输出子双引号,需要转义;不使用引号,可以解析变量,但是如果有空格会作为命令执行

获取字符串的长度,${#var_name}输出的是变量的字符串长度

字符串的拼接

1.无符号拼接

var3=${var1}${var2}

2.双引号拼接:推荐

var3="${var1}${var2}"

3.混合拼接

var3=${var1}&${var2}
var3=${var1}&${var2}

echo输出命令拼接字符串是万能的,按照内容直接输出。

字符串的截取:字符串截取的常用格式

${变量名:start:length}     从 string 字符串的左边第 start 个字符开始,向右截取 length 个字符。
${变量名:start}            从 string 字符串的左边第 start 个字符开始截取,直到最后。
${变量名:0-start:length}   从 string 字符串的右边第 start 个字符开始,向右截取 length 个字符。
${变量名:0-start}          从 string 字符串的右边第 start 个字符开始截取,直到最后。
${变量名#*chars}           从 string 字符串第一次出现 *chars 的位置开始,截取 *chars 右边的所有字符。
${变量名##*chars}          从 string 字符串最后一次出现 *chars 的位置开始,截取 *chars 右边的所有字符。
${变量名%chars*}           从 string 字符串最后第一次出现 chars* 的位置开始,截取 chars* 左边的所有字符。
${变量名%%chars*}          从 string 字符串第一次出现 chars* 的位置开始,截取 chars* 左边的所有字符

示例:

name="wlecome ! to mine"
[root@bogon ~]#name="welcome ! to mine"
[root@bogon ~]#echo ${name:0:2}
we
[root@bogon ~]#echo ${name:0}
welcome ! to mine
[root@bogon ~]#echo ${name:2}
lcome ! to mine
[root@bogon ~]#echo ${name:0-2:5}
ne
[root@bogon ~]#echo ${name:0-5}
mine
[root@bogon ~]#echo ${name#*m}
e ! to mine
[root@bogon ~]#echo ${name##*m}
ine
[root@bogon ~]#echo ${name%m*}
welcome ! to
[root@bogon ~]#echo ${name%%m*}
welco

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陪你听风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值