shell中${}用法

${}配合#及%使用达到字符串中特定位置字符删除操作
假设有一个变量:

file=/dir1/dir2/fir3/my.file.txt

1、使用${}删除特定位置字符后得到不同的值

${file#*/}:删掉第一个/及其左边的字符串     结果  --  dir1/dir2/dir3/my.file.txt
${file##*/}:删掉最后一个/及其左边的字符串  结果 -- my.file.txt
${file#*.}:删除第一个.及其左边的字符串  结果 -- file.txt
${file##*.}:删除最后一个.及其左边的字符串  结果 -- txt
${file%/*}:删除最后一个/及其右边的字符串  结果 -- /die1/dir2/dir3
${fiel%%/*}:删除第一个/及其右边的字符串  结果 -- 空值
${file%.*}:删掉最后一个.及其右边的字符串  结果 -- /dir1/dir2/dir3/my.file

记忆技巧:
# 是去掉左边(键盘上#在$左边)
% 是去掉右边(键盘上%在$的右边)

2、按一定规律提取字符

${file:0:5}:提取最左边的 5 个字节:/dir1  (第0个字符之后的5个字符)
${file:5:5}:提取第 5 个字节右边的连续5个字节:/dir2  (第五个字符之后的5个字符)

3、可以对变量值里的字符串作替换

${file/dir/path}
${file//dir/path}

第一句将第一个dir 替换为path:/path1/dir2/dir3/my.file.tx
第二句将全部dir 替换为 path:/path1/path2/path3/my.file.txt
输出:
在这里插入图片描述
输出:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值