Bash中对变量的操作方法

[复制链接]
查看327 | 回复0 | 2012-4-1 19:14:49 | 显示全部楼层 |阅读模式
1.条件变量替换:
BashShell可以进行变量的条件替换,既只有某种条件发生时才进行替换,替换条件放在{}中.
(1)${value:-word}

当变量未定义或者值为空时,返回值为word的内容,否则返回变量的值.



(2)${value:=word}

与前者类似,只是若变量未定义或者值为空时,在返回word的值的同时将

word赋值给value



(3)${value:?message}

若变量以赋值的话,正常替换.否则将消息message送到标准错误输出(若

此替换出现在Shell程序中,那么该程序将终止运行)



(4)${value:+word}

若变量以赋值的话,其值才用word替换,否则不进行任何替换



(5)${value:offset}

${value:offset:length}

从变量中提取子串,这里offset和length可以是算术表达式.



(6)${#value}

变量的字符个数(变量的字符个数,并不是变量个数)



(7)${value#pattern}

${value##pattern}

去掉value中与pattern相匹配的部分,条件是value的开头与pattern相匹配

#与##的区别在于一个是最短匹配模式,一个是最长匹配模式.

(${value%pattern}

${value%%pattern}

于(7)类似,只是是从value的尾部于pattern相匹配,%与%%的区别与#与##一样



(9)${value/pattern/string}

${value//pattern/string}

进行变量内容的替换,把与pattern匹配的部分替换为string的内容,/与//的区别与上同
注意:上述条件变量替换中,除(2)外,其余均不影响变量本身的值

*
*
发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则