介绍下Shell中的${}、##和%%使用范例,本文给出了不同情况下得到的结果。

假设定义了一个变量为:

代码如下:
file=/dir1/dir2/dir3/my.file.txt

可以用${ }分别替换得到不同的值:
${file#/}:删掉第一个 / 及其左边的字符串:dir1/dir2/dir3/my.file.txt
${file##
/}:删掉最后一个 / 及其左边的字符串:my.file.txt
${file#.}:删掉第一个 . 及其左边的字符串:file.txt
${file##
.}:删掉最后一个 . 及其左边的字符串:txt

${file%/}:删掉最后一个 / 及其右边的字符串:/dir1/dir2/dir3
${file%%/
}:删掉第一个 / 及其右边的字符串:(空值)
${file%.}:删掉最后一个 . 及其右边的字符串:/dir1/dir2/dir3/my.file
${file%%.
}:删掉第一个 . 及其右边的字符串:/dir1/dir2/dir3/my

记忆的方法为:
#是 去掉左边(键盘上#在 $ 的左边)
%是去掉右边(键盘上% 在$ 的右边)

单一符号是最小匹配;两个符号是最大匹配

${file:0:5}:提取最左边的 5 个字节:/dir1
${file:5:5}:提取第 5 个字节右边的连续5个字节:/dir2

也可以对变量值里的字符串作替换:
${file/dir/path}:将第一个dir 替换为path:/path1/dir2/dir3/my.file.txt
${file//dir/path}:将全部dir 替换为 path:/path1/path2/path3/my.file.txt

shell中#*,##*,#*,##*,% *,%% *的含义及用法相关推荐

  1. shell中的 case in 用法

    shell中的 case in 用法 用法case;in;esac都是shell关键字expression是表达式(既可以是一个变量,一个数字,一个字符串,还可以是一个数学计算表达式,或者是命令的执行 ...

  2. Shell中冒号的特殊用法

    前言 本文主要是参考了鸟哥写的<鸟哥的Linux私房菜>.因为总是在各种脚本中见到:-的用法而只是了解其大概含义,所以翻阅了相关资料,编写此博文以作记录 Shell中冒号在变量赋值时的各种 ...

  3. Linux Shell中有三种引号的用法

    Linux Shell中有三种引号,分别为双引号(" ").单引号(' ')以及反引号(` `). 其中双引号对字符串中出现的$.''.`和\进行替换:单引号不进行替换,将字符串中 ...

  4. shell中符号含义

    看这里https://blog.csdn.net/qq_34037046/article/details/86662736 或这里https://www.cnblogs.com/whiteprism/ ...

  5. shell中sed命令的用法

    sed (stream editor)流编辑器也是linux中的一条命令,在shell中经常需要用到的非交互式修改文件内容的命令.sed处理文本是按行处理,也就是读一行处理一行. sed的命令基本格式 ...

  6. linux shell 中 %% *的含义

    介绍下Shell中的${}.##和%%使用范例,本文给出了不同情况下得到的结果. 假设定义了一个变量为: 代码如下: file=/dir1/dir2/dir3/my.file.txt 可以用${ }分 ...

  7. shell 中 if 和 else 用法详解

    基本语法 shell的if语法和C语言等高级语言非常相似,唯一需要注意的地方就是shell的if语句对空格方面的要求比较严格(其实shell对所有语法的空格使用都比较严格),如果在需要空格的地方没有打 ...

  8. Shell中的Wget 的用法

    Wget 的用法 -V 版本信息 -h 帮助信息 -b 后台执行Wget  -o filename 把记录放在文件filename  -a filename 把记录附加在文件filename -d 显 ...

  9. pow python用法菜鸟_pow在python中的含义及用法

    pow()方法返回xy(x的y次方) 的值 语法 以下是math模块pow()方法的语法: import math math.pow( x, y ) 内置的pow()方法 pow(x, y[, z]) ...

最新文章

  1. 数字电路实验怎么接线视频讲解_家庭影院中音箱、功放、投影机、4K播放机不知道怎么连接?手把手教你...
  2. Go 源码学习之--net/http
  3. Java Project项目在Linux下部署步骤及注意事项
  4. 世界上最好玩的6种表情符号编程语言
  5. 7段均衡器最佳参数_十段均衡器的设置和参数
  6. Unity 改变下载资源商店中资源默认路径的方法
  7. 免费苹果账号(apple id)申请ios证书p12真机调试
  8. /deep/在chrome89+中出现样式混乱的问题
  9. 抖音python广告用的什么音乐_被抖音捧火的几首纯音乐,都是你们要的原版,太震撼人心!...
  10. js中得~~是什么意思/JS按位非(~)运算符与~~运算符的理解分析
  11. SSLOJ——P1738.水洼的大小
  12. hadoop2.9安装及配置_阿里云服务器上装Hadoop的心得(内附Hadoop2.9.2详细安装教程)...
  13. 树莓派开发笔记(五):GPIO引脚介绍和GPIO的输入输出使用(驱动LED灯、检测按键)
  14. 阿里10W字JAVA面试手册(面试题+简历攻略)
  15. 【点云3D目标检测】跑通CIA-SSD过程中的一些报错集锦
  16. 视频压缩编码技术概述
  17. Macbook Pro 201 装Win10 声卡_MacBook+BMPCC+康佳PS300共同打造事半功倍视频制作流
  18. 在线获取外链的php源码,y.qq.com-php获取QQ音乐外链源码
  19. php格式用什么能打开,文件格式为.php的文件用什么软件打开?
  20. 第50次二级c语言真题,2017计算机二级MS-office操作题及答案

热门文章

  1. sql server 的 money类型
  2. 图像特征检测描述(一):SIFT、SURF、ORB、HOG、LBP特征的原理概述及OpenCV代码实现
  3. linux给普通用户分配root权限
  4. DPDK 报文收发流程(二十五)
  5. leetcode算法题--划分为k个相等的子集★
  6. Linux下gcc编译中关于头文件与库文件搜索路径相关问题
  7. CGRect CGFloat 不能使用
  8. MySQL Workbench 怎么创建数据库
  9. 1.7. FreeBSD 初始化设置
  10. java-运算符以及简单运用