linux shell 中$() ${}$(())的应用
2016-12-29 11:14
85 查看
bash shell
$()和` ` 的作用是一样的,用做命令替换 command substitution
${} 用来做精准的变量替换 如 a=b; echo $ab 返回没有ab这个变量,这个时候用echo ${a}b 就可以了。
${}还有很多其他的用法
1.截取
path=/home/hb/bin
${path#*/} home/hb/bin 去掉左边第一个/及其左边的字符
${path##*/} bin 去掉左边最后一个/及其左边的字符
${path%/*} /home/hb 从右边删除
${path%%/*}
2.切片 Usage: ${var:offset: length}
${path:5:3} /ha
3.基于字串查找替换
${var/pattern/replacement} :查找var变量存储的字符中第一次由pattern匹配到的内容,并替换为replacement
${var//pattern/replacement} :查找var变量存储的字符中所有能够由pattern匹配到的内容,并替换为replacement
${var/#pattern/replacement} :查找var变量存储的字符中最开始处能够由pattern匹配到的内容,并替换为replacement
${var/%pattern/replacement} : 查找var变量存储的字符中最后位置能够由pattern匹配到的内容,并替换为replacement
4.基于字串查找删除
忽略替换内容就是删除 ${var/pattern}
5.大小写替换
${var^^}:把var变量中的所有小写字母,统统替换为大写;
${var,,}:把var变量中的所有大写字母,统统替换为小写;
6.空值判断
${var:-word}:如果变量var为空或未声明,则返回word所表示的字符串;否则,则返回var变量的值, 临时赋值
echo ${name:-w} 返回值 w
echo $name 返回值为 空
${var:=word}:如果变量var为空或未声明,则返回word所表示的字符串,并且把word赋值为var变量;否则,则返回var变量的值,直接赋值
echo ${name:=w} 返回值 w
echo $name 返回值为 w
${var:?error}:如果变量var为空或未声明,则返回error为错误信息;否则,则返回var变量的值;
echo ${name:?unset error} 返回:-bash: name: unset error
${var:+word}:如果变量var为空或未声明,忽略;否则,则返回word;
7.获取变量名称为改变量值的值
b=a
a=456
echo ${b} a
echo ${!b} 返回456
$(())
用来数学计算
$()和` ` 的作用是一样的,用做命令替换 command substitution
${} 用来做精准的变量替换 如 a=b; echo $ab 返回没有ab这个变量,这个时候用echo ${a}b 就可以了。
${}还有很多其他的用法
1.截取
path=/home/hb/bin
${path#*/} home/hb/bin 去掉左边第一个/及其左边的字符
${path##*/} bin 去掉左边最后一个/及其左边的字符
${path%/*} /home/hb 从右边删除
${path%%/*}
2.切片 Usage: ${var:offset: length}
${path:5:3} /ha
3.基于字串查找替换
${var/pattern/replacement} :查找var变量存储的字符中第一次由pattern匹配到的内容,并替换为replacement
${var//pattern/replacement} :查找var变量存储的字符中所有能够由pattern匹配到的内容,并替换为replacement
${var/#pattern/replacement} :查找var变量存储的字符中最开始处能够由pattern匹配到的内容,并替换为replacement
${var/%pattern/replacement} : 查找var变量存储的字符中最后位置能够由pattern匹配到的内容,并替换为replacement
4.基于字串查找删除
忽略替换内容就是删除 ${var/pattern}
5.大小写替换
${var^^}:把var变量中的所有小写字母,统统替换为大写;
${var,,}:把var变量中的所有大写字母,统统替换为小写;
6.空值判断
${var:-word}:如果变量var为空或未声明,则返回word所表示的字符串;否则,则返回var变量的值, 临时赋值
echo ${name:-w} 返回值 w
echo $name 返回值为 空
${var:=word}:如果变量var为空或未声明,则返回word所表示的字符串,并且把word赋值为var变量;否则,则返回var变量的值,直接赋值
echo ${name:=w} 返回值 w
echo $name 返回值为 w
${var:?error}:如果变量var为空或未声明,则返回error为错误信息;否则,则返回var变量的值;
echo ${name:?unset error} 返回:-bash: name: unset error
${var:+word}:如果变量var为空或未声明,忽略;否则,则返回word;
7.获取变量名称为改变量值的值
b=a
a=456
echo ${b} a
echo ${!b} 返回456
$(())
用来数学计算
相关文章推荐
- Linux shell应用1-自动配置网络
- Linux shell进阶应用与shell编程[引用, 非原创]
- Linux Shell 脚本应用——字符串处理
- 【Shell】【学习笔记】Linux Shell脚本应用(二)
- 【Shell】【学习笔记】Linux Shell脚本应用(六)
- 【Shell】【学习笔记】Linux Shell脚本应用(三)
- Linux Shell 脚本应用——条件测试
- Linux Shell 脚本应用——awk文本处理文件
- linux shell 应用技巧
- Linux shell进阶应用与shell编程
- Linux shell应用
- Linux Shell 脚本应用 ——shell命令的组合运用
- Linux Shell 脚本应用——数值运算及处理
- Linux shell应用技巧
- linux shell 脚本实现tcp/upd协议通讯(重定向应用)
- linux shell 脚本实现tcp/upd协议通讯(重定向应用)
- linux shell伪随机数的产生和应用
- Linux Shell脚本应用——使用if判断结构
- 【Shell】【学习笔记】Linux Shell脚本应用(五)
- 【Shell】【学习笔记】Linux Shell脚本应用(七)