shell命令疑问,%?

chape 发布于 2013/05/10 19:19
阅读 664
收藏 1
#!/bin/bash
02   
03 bootOutput="bl.out"
04 rm -f $bootOutput//删除b1.out文件
05 ./cloudify.sh "bootstrap-cloud ec2" > $bootOutput 2>&1//运行./cloudify.sh bootstrap-cloud ec2并将输出到b1.out和标准输入重定向到标准输出。
06 searchString="Rest service is"
07 selectedText=`grep "${searchString}" $bootOutput`//查找b1.out中"Rest service is"的行赋给selectedText
08 rawValue=`echo ${selectedText} | awk '{print $6}'`//将selectedText中第六个域(以空格或tab分割)赋给rawValue

09 restURL="${rawValue%?}"//提取restURL
第9行不知道是怎样提取URL的,字符串做模运算?,还有“?”的作用是什么?

加载中
0
卖切糕大叔
卖切糕大叔

${string%substring} 从变量$string的结尾, 删除最短匹配$substring的子串, ?表示0个或单个任意字符

restURL="${rawValue%?}"

=>删除rawValue最右单个字符然后返回字符串

如果rawValue=abcd
则restURL=abc

详情可以谷歌shell字符串操作

chape
chape
非常感谢啊,讲的也很清楚
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部