标签:shell基础 shell shell 数组 shell 字符串
数组done
字符串
定义:
${var} 变量var的值, 与$var相同
${var-DEFAULT} 如果var没有被声明, 那么就以$DEFAULT作为其值,如果变量var已经被设置的话, 那么其值就是$var
${var:-DEFAULT} 如果var没有被声明, 或者其值为空, 那么就以$DEFAULT作为其值,如果变量var已经被设置的话, 那么其值就是$var
${var=DEFAULT} 如果var没有被声明, 那么就以$DEFAULT作为其值,如果变量var已经被设置的话, 那么其值就是$var
${var:=DEFAULT} 如果var没有被声明, 或者其值为空, 那么就以$DEFAULT作为其值,如果变量var已经被设置的话, 那么其值就是$var
${var+OTHER} 如果var声明了, 那么其值就是$OTHER, 否则就为null字符串
${var:+OTHER} 如果var被设置了, 那么其值就是$OTHER, 否则就为null字符串
${var?ERR_MSG} 如果var没被声明, 那么就打印$ERR_MSG,如果变量var已经被设置的话, 那么其值就是$var
${var:?ERR_MSG} 如果var没被设置, 那么就打印$ERR_MSG,如果变量var已经被设置的话, 那么其值就是$var
${!varprefix*} 匹配之前所有以varprefix开头进行声明的变量
${!varprefix@} 匹配之前所有以varprefix开头进行声明的变量
例如
1.echo ${abc-‘ok‘}
2.echo ${abc=‘ok‘}
基本操作
1.echo ${#string} #获取字符串的长度,${#变量名}得到字符串长度
2.echo ${string:5},${string:5:10},${string} #字符串切片,${变量名:起始:长度}得到子字符串
3.echo ${string#*/} #${变量名#substring正则表达式}从字符串开头开始配备substring,删除匹配上的表达式
4.echo ${string%/*} #${变量名%substring正则表达式}从字符串结尾开始配备substring,删除匹配上的表达式
5.echo ${test//\//\\} #${变量/查找/替换值} 一个“/”表示替换第一个,”//”表示替换所有,当查找中出现了:”/”请加转义符”\/”表示。
标签:shell基础 shell shell 数组 shell 字符串
原文地址:http://blog.csdn.net/chenlvzhou/article/details/42673893