Shell处理字符串常用技巧之判值、赋值
在Shell编程中,经常要处理一些字符串变量 。
下面给大家整理Shell处理字符串常用技巧之判值、赋值 。
请参考:
Shell处理字符串常用技巧之分割、替换字符串
Shell处理字符串常用技巧之截取子串
(1)、${VALUE:-word}:
当变量未定义或者值为空时,返回值为WORD的内容 。
否则返回变量的值 。
(2)、${VALUE:=WORD}:
当变量未定义或者值为空时,返回WORD的值的同时并将WORD赋值给VALUE 。
否则返回变量的值 。
(3)、${VALUE:+WORD}:
当变量已赋值时,其值才用WORD替换 。
否则不进行任何替换 。
(4)、${VALUE:?MESSAGE}:
当变量已赋值时,正常替换 。
否则将消息MESSAGE送到标准错误输出 。
若此替换出现在SHELL程序中,那么该程序将终止运行 。
补充:
WORD可以为一个字符串,也可以为一个变量 。
当为变量时,需要用"$"引用该变量 。
案例:
(1) ${VALUE:-WORD}:
[odysee@kingdom ~]$ name=mynameisodysee
[odysee@kingdom ~]$ echo ${name:-"name is empty or undefined"}
mynameisodysee
[odysee@kingdom ~]$ name=
[odysee@kingdom ~]$ echo ${name:-"name is empty or undefined"}
name is empty or undefined
[odysee@kingdom ~]$ echo ${names:-"name is empty or undefined"}
name is empty or undefined
文章插图
(2) ${VALUE:=WORD}:
[odysee@kingdom ~]$ name=
[odysee@kingdom ~]$ echo ${name:="odysee"}
odysee
[odysee@kingdom ~]$ echo ${name}
odysee
文章插图
(3) ${VALUE:+WORD}:
[odysee@kingdom ~]$ name=odysee
[odysee@kingdom ~]$ echo ${name:+"odysee^s dad"}
odysee^s dad
文章插图
(4)${VALUE:?MESSAGE}:
[odysee@kingdom ~]$ name=
[odysee@kingdom ~]$ echo ${names:?"I am odysee^s dad"}
-bash: names: I am odysee^s dad
文章插图
补充:
使用$引用变量
[odysee@kingdom ~]$ name=
[odysee@kingdom ~]$ sname=odysee
[odysee@kingdom ~]$ echo ${name:-$sname}
odysee
文章插图
总结:
关于以上的字符串操作,有点拗脑,不太容易记忆 。
如果有什么好的记忆方式,望大家不吝赐教 。
欢迎大家给予宝贵的意见或者建议 。
欢迎大家补充或者共享一些其他的方法 。
感谢支持 。
【Shell处理字符串常用技巧终结篇】
推荐阅读
- 泡水车为啥不能买 最终又如何处理?
- 为什么Intel要重新定义处理器芯片制程
- 路由器|极速1.15万兆!博通发布Wi-Fi 7路由处理器:支持八大网口
- 超实用的18个Java8日期处理的实践!建议收藏!
- 被腐蚀的不锈钢表面如何处理?
- 通过“交管12123”APP处理交通违法、缴纳罚款?
- 国企离职档案怎么处理
- 桑叶茶的制作方法,花茶的茶胚处理
- 不是所有黑胶伞都能防晒 记住处理晒伤“五步法”
- 新鲜桂花怎么处理,玫瑰花茶怎么泡