linux shell字符串操作

字符串拼接

value1=hello
value2=${value1}World
echo value2

执行结果:

helloWorld

得到字符串长度

a='abc'
echo ${#a}

执行结果:

3

字符串截取

a='abc'
echo ${a:1}

执行结果

bc

if语句中字符串的判断

if语句的两种格式[][[]]对字符串判断的效果不同。[[]]支持字符串模式匹配,而[]不支持。下面是几个比较字符串是否相等的例子:

a='abc'
if [[ $a == a* ]]; then
    echo "equal!"
fi

执行结果为:

equal!

而对于单个中括号:

a='abc'
if [ $a == a* ]; then
    echo "equal!"
fi

执行结果为空,可见单个中括号不支持字符串的模式匹配。
此外,对于

a='abc'
if [[ $a == "a*" ]]; then
    echo "equal!"
fi

执行结果也为空,也就是说用双引号引出的字符串不会被视为pattern。

在脚本中写[[]]的时候需要用bash xxx.sh来运行脚本,shell脚本并不能认出这种语法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值