shell基础变量扩展学习
2013-05-24 23:20
441 查看
好久前学习了变量的扩展,现在全忘光了,决定总结下。
1.${变量-值}
如果变量不存在就用后面的值来替代。
例:
2.${变量:-值}不存在或者为空。
例:
4.${变量:=值} 效果同上!这里不再演示!
5.${变量:+值} 如果非空则取后面的值。
6.${变量:?'xx'} 变量不存在或者为空,显示后面的字母。(通常定义报错信息)
7.${变量:offset} 去除变量前N个字符,N为offset的值。
去除12345字符:
8.${变量:offset:长度} 先去掉,再取值:(offset为n,长度为取值)
例:我想要中间的5.
9.${变量%模式}从后最短删除:
10.${变量%%模式}从后最长删除。
11.${#变量}计算字母或字符长度。
12.${变量#模式}从前最短删除。
13.${变量##模式}从前最长删除。
14.${变量/符号1/符号2}将第一个符号换成第二个。
15.${变量//符号1/符号2}将所有符号换成第二个。
16.${变量/符号/}删除 把变量第一个符号删除.删除所有为${变量//符号/}
本文出自 “xiaolangit” 博客,请务必保留此出处http://xiaolangit.blog.51cto.com/3343422/1209449
1.${变量-值}
如果变量不存在就用后面的值来替代。
例:
[root@localhost~]# qq=haha [root@localhost~]# yy=${qq:-123} [root@localhost~]# echo $yy haha [root@localhost~]# unset qq [root@localhost~]# yy=${qq-123} [root@localhost~]# echo $yy 123
2.${变量:-值}不存在或者为空。
例:
1.不存在时 [root@localhost~]# unset qq [root@localhost~]# yy=${qq:-123} [root@localhost~]# echo $yy 123 2.存在并为空时 [root@localhost~]# qq= [root@localhost~]# yy=${qq:-123} [root@localhost~]# echo $yy 123
4.${变量:=值} 效果同上!这里不再演示!
5.${变量:+值} 如果非空则取后面的值。
[root@localhost~]# qq=haha [root@localhost~]# yy=${qq:+wahaha} [root@localhost~]# echo $yy wahaha
6.${变量:?'xx'} 变量不存在或者为空,显示后面的字母。(通常定义报错信息)
[root@localhost~]# unset qq [root@localhost~]# yy=${qq:?'$qq is not found'} [root@localhost~]# echo $yy -bash: qq: $qq is not found
7.${变量:offset} 去除变量前N个字符,N为offset的值。
去除12345字符:
[root@localhost~]# qq=123456789 [root@localhost~]# yy=${qq:5} [root@localhost~]# echo $qq 6789
8.${变量:offset:长度} 先去掉,再取值:(offset为n,长度为取值)
例:我想要中间的5.
[root@localhost~]# qq=123456789 [root@localhost~]# yy=${qq:4:1} [root@localhost~]# echo $yy 5
9.${变量%模式}从后最短删除:
qq=`grep ^root /etc/passwd` echo $qq root:x:0:0:root:/root:/bin/bash yy=${qq%:*} echo $yy root:x:0:0:root:/root 这里少了:/bin/bash.!
10.${变量%%模式}从后最长删除。
echo $qq root:x:0:0:root:/root:/bin/bash yy=${aa%%:*} echo $yy root
11.${#变量}计算字母或字符长度。
qq=1234567 yy=${#qq} echo $yy 7
12.${变量#模式}从前最短删除。
[root@localhost ~]# qq=`grep ^root /etc/passwd` [root@localhost ~]# echo $qq root:x:0:0:root:/root:/bin/bash [root@localhost ~]# yy=${aa#^:} [root@localhost ~]# echo $yy x:0:0:root:/root:/bin/bash 最前面的root没有了!
13.${变量##模式}从前最长删除。
[root@localhost ~]# qq=`grep ^root /etc/passwd` [root@localhost ~]# echo $qq root:x:0:0:root:/root:/bin/bash [root@localhost ~]# yy=${qq##*:} [root@localhost ~]# echo $yy /bin/bash
14.${变量/符号1/符号2}将第一个符号换成第二个。
[root@localhost ~]# qq=`grep ^root /etc/passwd` [root@localhost ~]# echo $qq root:x:0:0:root:/root:/bin/bash [root@localhost ~]# yy=${qq/:/#} [root@localhost ~]# echo $yy root#x:0:0:root:/root:/bin/bash
15.${变量//符号1/符号2}将所有符号换成第二个。
[root@localhost~]# qq=`grep ^root /etc/passwd` [root@localhost~]# echo $qq root:x:0:0:root:/root:/bin/bash [root@localhost~]# yy=${aa//:/#} [root@localhost~]# echo $yy root#x#0#0#root#/root#/bin/bash
16.${变量/符号/}删除 把变量第一个符号删除.删除所有为${变量//符号/}
[root@localhost ~]# yy=${qq/:/} [root@localhost ~]# echo $yy rootx:0:0:root:/root:/bin/bash
本文出自 “xiaolangit” 博客,请务必保留此出处http://xiaolangit.blog.51cto.com/3343422/1209449
相关文章推荐
- Linux学习日记 —— 10.4.2 Shell基础-Bash变量-环境变量
- shell-bash学习01基础、打印、环境变量
- 尚观学习-shell-基础 & 环境变量 & 自定义变量
- Linux学习日记 —— 10.4.3 Shell基础-Bash变量-位置参数变量
- Linux基础知识之————shell学习总结之变量引用
- Linux学习日记 —— 10.5.1 Shell基础-Bash变量-数值运算与运算符
- shell学习-基础(变量、输入、输出、数组、环境变量)
- linux基础学习笔记-3-shell变量
- Shell学习笔记(6)-高级变量之变量扩展
- Shell基础学习(二) Shell变量
- Linux基础学习-Shell变量的丰富功能
- 第十二章 学习 shell脚本之前的基础知识
- java===java基础学习(1)---数据类型,运算,变量,常量
- Shell基础:变量类型 & 运算符
- Shell 脚本基础学习 (四)
- Shell 脚本基础学习 (一)
- linux超级基础系列——shell变量(本地变量和环境变量)
- Swift学习(四)常量&变量&基础数据类型
- shell学习总结之特殊字符及特殊变量
- Shell学习:笔终端打印、算术运算、常用变量