可能的重复:
如何${0##/} 和 ${0%/} 工作?
0:root@SERVER:/ #
0:root@SERVER:/ # serial=$(lscfg -vl hdisk1 | awk '/Serial Number/')
0:root@SERVER:/ # echo $serial
Serial Number...............11BBGG11235
0:root@SERVER:/ #
0:root@SERVER:/ #
0:root@SERVER:/ # serial=${serial##*.}
0:root@SERVER:/ # echo $serial
11BBGG11235
0:root@SERVER:/ #
精确度 是什么意思
serial=${serial##*.}
做?有人可以解释一下吗?很难用谷歌搜索它:D
答案1
它是 shell 中的参数扩展。例如:
Serial=${serial##*.} -- 这将获取最后一个由“.”分隔的字段中的值分隔符。抓住最后一个“.”值并打印其余数据。
parameter result
----------- ------------------------------
${NAME} polish.ostrich.racing.champion
${NAME#*.} ostrich.racing.champion
${NAME##*.} champion
${NAME%%.*} polish
${NAME%.*} polish.ostrich.racing
parameter result
----------- --------------------------------------------------------
${FILE} /usr/share/java-1.4.2-sun/demo/applets/Clock/Clock.class
${FILE#*/} usr/share/java-1.4.2-sun/demo/applets/Clock/Clock.class
${FILE##*/} Clock.class
${FILE%%/*}
${FILE%/*} /usr/share/java-1.4.2-sun/demo/applets/Clock
有关更多示例,请参见http://mywiki.wooledge.org/BashFAQ/073