linux中如何修改变量名,怎样在Linux中对Bash变量内容修改?

我们知道两种对变量取胜的方法:

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} 中输入的时候仍然按着从左到右的顺序,即与变量内容中的字符的顺序相同,中国自学编程网,www。

zxbc。cn 。如下例:

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

如果变量后面接的是/ 时,表示后面是进行" 取代" 的工作,而且仅取代“第一个”,如果是//,则表示全部的字符串都取代。

全部

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值