我们知道两种对变量取胜的方法:
echo $HOME echo ${HOME}
在echo ${variable}的方法中,还可以对变量的内容进行修改,只要加上一些字符标志,后面再接着使用比对字符串,就可以修改变量的内容了。假设变量名为:vbird,并且内容为/home/vbird/testing/testing.x.sh
◆1、完整呈现vbird这个变量:
vbird="/home/vbird/testing/testing.x.sh"
echo ${vbird}
/home/vbird/testing/testing.x.sh
◆2、在vbird变量中,从最前面开始比对
若开头为 / ,则删除两个/之间的所有数据,即 /*/
echo ${vbird##/*/}
testing.x.sh ---------删除了/home/vbird/testing/
echo ${vbird#/*/}
vbird/testing/testing.x.sh ----------只删除了/home/而已
------在这两个例子中,变量名后面如果接了两个##,表示在##后面的字符串取“最长的”那一段;如果只有一个#,表示取“最小的”那一段。(自注:“最小的那一段“表示从左到右离第一个字符最近并且和第一个字符相同的字符之间的内容,最长则反之)
◆3、承上题,如果是从后面开始,删除/*呢?
echo ${vbird%%/*/}
/home/vbird/testing/testing.x.sh ---------都没有删除
echo ${vbird%%/*}
--------都被删除了
echo ${vbird%/*}
/home/vbird/testing --------只删除 /testing.x.sh部分
在这个例子中要特别注意,那个%比对的是“最后面那个字符”的意思,所以第一个当然不对,因为vbird这个变量的内容最后面是h而不是/。至于%%/*则是删除“最长的那个/*”,当然就是全部,而%/*则是最短的那个。(自注:最短最长同上注,虽然%表示反向的比对,但需注意的是在${variable}中输入的时候仍 然按着从左到右的顺序,即与变量内容中的字符的顺序相同。如下例:
echo ${vbird%t*h}
/home/vbird/testing/tes ------t.ing.x.sh被删除了
如果是
echo ${vbird%h*t}
/home/vbird/testing/testing.x.sh ----则输出没有变化(因为比对都是与第一个字符比,变量内容的第一个字符为h,而命令中给出的第一个字符为t,与真实的变量内容不符。)
◆4. 将vbird变量中的testing取代为TEST
echo ${vbird/testing/TEST}
/home/vbird/TEST/testing.x.sh
echo ${vbird//testing/TEST}
/home/vbird/TEST/TEST.x.sh
如果变量后面接的是/ 时,表示后面是进行"取代"的工作,而且仅取代“第一个”,如果是//,则表示全部的字符串都取代。
【相关文章】
|
||||
| · NAC安全访问控制 · 网络布线测试仪器 · Windows Server 2008专.. · Windows远程桌面应用 · 网络故障排除宝典 · 运营商封堵ADSL共享 中.. · 解析35岁技术人的价值.. · 世纪枭雄比尔盖茨的王.. |
· 主流品牌防火墙配置 · ASP.NET开发教程 · 超级计算机TOP500专题 · Vista SP1对决XP SP3 · SQL Server 2008/2005.. · 程序员如何成长? · C#技术开发指南 · 虚拟化技术还有点“虚” |
|||
|
||||
| · SOA 面向服务架构 · SQL Server 2008/2005.. · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 · Windows远程桌面应用 · C#技术开发指南 · Apache技术专题 |
· Windows集群服务应用 · C#技术开发指南 · 国际文档格式标准开战 · 路由器设置与口令恢复 · Linux 集群技术专题 · PHP开发应用手册 · SOA 面向服务架构 · 企业数据恢复指南 |
|||
|
||||
| · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · C#技术开发指南 · 三层交换技术专题 · Apache技术专题 · C#技术开发指南 |
· Windows远程桌面应用 · 企业数据恢复指南 · Windows集群服务应用 · 路由器设置与口令恢复 · Linux 集群技术专题 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · 反垃圾邮件技术应用 |
|||