1. 拼接字符串:
#!/bin/bash
name="happyJared"
# 使用双引号拼接
greeting="hello, "$name" !"
greeting_1="hello, ${name} !"
echo $greeting $greeting_1
# 使用单引号拼接
greeting_2='hello, '$name' !'
greeting_3='hello, ${name} !'
echo $greeting_2 $greeting_3
2. 获取字符串长度:
#!/bin/bash
#获取字符串长度
name="happyJared"
# 第一种方式
echo ${#name} #输出10
# 第二种方式
expr length "$name"; #输出10
使用 expr
命令时,表达式中的运算符左右必须用空格隔开,如果不含空格,将会输出表达式本身:
expr 5+6 // 直接输出 5+6
expr 5 + 6 // 输出 11
对于某些运算符,还需要使用符号 \
进行转义,否则会提示语法错误。
expr 5 * 6 // 输出错误
expr 5 \* 6 // 输出30
3. 截取子字符串:
简单的字符串截取:
#从字符串第 1 个字符开始往后截取 10 个字符
str="happyJared is a great man"
echo ${str:0:10} #输出:happyJared
根据表达式截取:
#!bin/bash
#author:Jared
var="http://www.baidu.com/linux/linux-shell-variable.html"
s1=${var%%t*}#h
s2=${var%t*}#http://www.baidu.com/linux/linux-shell-variable.h
s3=${var%%.*}#http://www
s4=${var#*/}#/www.baidu.com/linux/linux-shell-variable.html
s5=${var##*/}#linux-shell-variable.html