Shell变量

这章主要介绍了shell脚本中常用的变量截取,涉及到##和%%

代码

file='/dir1/dir2/dir3/my.file.txt'
echo "The variable 'file' is ${file}."
echo "The command result of" '${file#*/}' "is ${file#*/}."
echo "The command result of" '${file##*/}' "is ${file##*/}."
echo "The command result of" '${file#*.}' "is ${file#*.}."
echo "The command result of" '${file##*.}' "is ${file##*.}."
echo "The command result of" '${file%/*}' "is ${file%/*}."
echo "The command result of" '${file%%/*}' "is ${file%%/*}."
echo "The command result of" '${file%.*}' "is ${file%.*}."
echo "The command result of" '${file%%.*}' "is ${file%%.*}."
echo "The command result of" '${#file}' "is ${#file}."

结果如下

The varialbe 'file' is /dir1/dir2/dir3/my.file.txt.
The command result of ${file#*/} is dir1/dir2/dir3/my.file.txt.
The command result of ${file##*/} is my.file.txt.
The command result of ${file#*.} is file.txt.
The command result of ${file##*.} is txt.
The command result of ${file%/*} is /dir1/dir2/dir3.
The command result of ${file%%/*} is .
The command result of ${file%.*} is /dir1/dir2/dir3/my.file.
The command result of ${file%%.*} is /dir1/dir2/dir3/my.
The command result of ${#file} is 27.

解释:

${file#*/}:删掉第一个 / 及其左边的字符串
${file##*/}:删掉最后一个/及其左边的字符串
${file##*/}:删掉最后一个 /  及其左边的字符串
${file#*.}:删掉第一个 .  及其左边的字符串
${file##*.}:删掉最后一个 .  及其左边的字符串
${file%/*}:删掉最后一个  /  及其右边的字符串
${file%%/*}:删掉第一个 /  及其右边的字符串
${file%.*}:删掉最后一个  .  及其右边的字符串
${file%%.*}:删掉第一个  .   及其右边的字符串
${#file}:求变量长度
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值