为了完整起见,我这里再用一些例子加以说明 ${ } 的一些特异功能:

假设我们定义了一个变量为:

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

linux shell ${}简单用法,Linux shell ${}简单用法相关推荐

  1. java中include标签的用法_原 ng-include用法分析以及多标签页面的简单实现方式

    在平时的项目开发中,应该会经常遇到上图所示的需求,就是在一个页面中有多个标签,被选中的标签颜色会高亮显示,切换不同标签显示相应的不同内容.如果内容代码过多则写在同一个html文件就会显得特别乱,所以这 ...

  2. linux 树状结构图,linux下tree指令的用法, 树状图列出目录, 树状图逐级列出目录...

    tree命令,主要功能是创建文件列表,将所有文件以树的形式列出来 linux下的tree就比较强大了,但一般系统并不自带这个命令,需要手动下载安装, 安装 sudo apt install tree ...

  3. php umount强制,linux中mount/umount命令的基本用法及开机自动挂载方法

    本文介绍了linux中mount/umount命令的基本用法及开机自动挂载,具体方法如下: mount命令格式如下: 格式:mount [-参数] [设备名称] [挂载点] 其中常用的参数有: -a ...

  4. linux的swap与memory,【Linux】Linux中Swap与Memory内存简单介绍

    背景介绍 对于Linux来说,其在服务器市场的使用已经占据了绝对的霸主地位,不可动摇.Linux的各种设计思想和使用也被传承(当然不乏各种黑Linux,而且黑的漂亮).Linux的很多独特的设计,对性 ...

  5. 简单了解Linux操作系统中的防火墙软件及其部署案例解析

    1.首先我们来简单的认识一下防火墙: 防火墙(Firewall),也称防护墙,是由Check Point创立者Gil Shwed于1993年发明并引入国际互联网(US5606668(A)1993-12 ...

  6. linux cp -r 参数,Linux系统中cp命令的参数及用法详解

    Linux系统中cp命令主要是用来复制文件或者目录.下面由学习啦小编为大家整理了Linux系统中cp命令的参数及用法详解的相关知识,希望对大家有帮助! Linux系统中cp命令的参数及用法详解:参数说 ...

  7. linux中touch命令如何使用,Linux Touch命令的8种常见用法

    除了在Linux上简单地创建一个空文件之外,Linux touch命令还有更多的用途.您也可以使用它来更改现有文件的时间戳,包括它们的访问和修改时间.本文介绍了8种通过Linux终端使用touch命令 ...

  8. linux mount 指定用户名,linux中mount/umount命令的基本用法及开机自动挂载方法

    本文介绍了linux中mount/umount命令的基本用法及开机自动挂载,具体方法如下: mount命令格式如下: 格式:mount [-参数] [设备名称] [挂载点] 其中常用的参数有: -a ...

  9. linux下载命令 scp,linux中scp命令和scp命令用法大全

    scp就是secure copy,是用来进行远程文件拷贝的.数据传输使用ssh1,并且和ssh1使用相同的认证方式,提供相同的安全保证.与rcp不同的是,scp会要求你输入密码如果需要的话. svn ...

  10. 制作一个简单的linux

    我这里是借助宿主机做的一个简单的Linux,我们只要知道一个Linux启动过程需要什么,这里制作就简单的多了.不过没有基础的也没关系,我写的很详细,没有基础的看了我写的步骤只要细心也是会做出来的,我这 ...

最新文章

  1. ASP.NET 下载文件方式
  2. 嗯,挺全乎儿的,Spring Boot 多环境配置都在这儿了,你喜欢哪一种呢?
  3. mysql 类型转换 cast 将 float 转换为 decimal
  4. C语言实验大纲2010答案,C语言试验大纲(2010年修订).doc
  5. office2007安装提示“Windows Installer 服务不能更新一个或多个受保护的Windows文件...
  6. 深入Java关键字null
  7. go context学习
  8. 数据结构与索引-- mySql索引诡异事件
  9. c++中求前n项和(这代码不得不让我佩服)
  10. idea报错:Error: java: 错误: 不支持发行版本 5
  11. java中redis存储map集合_使用RedisTemplate存储Map集合的一点注意
  12. EC++学习笔记(四) 设计与声明
  13. mysql服务器io等待高定位与分析
  14. 【RS】OSPF邻居关系(1)--OSPF邻居表为空
  15. 生成word_用Word生成员工信息表,单独生成独立文件,还能自动命名
  16. python字符串常用方法_python字符串常用方法
  17. 非线性系统稳定性理论分析、设计方法
  18. 计算机win7开超级性能模式,笔记本win10系统开启超级性能模式(卓越性能模式)的方法...
  19. 【Unity游戏开发】动画系统(四)Unity3d动画基础
  20. 【程序员必备】七夕表白攻略:”月遇从云,花遇和风,晚上的夜空很美“。(附源码合集)

热门文章

  1. pythonios脚本语言-iOS开发Swift篇—(一)简单介绍
  2. win10安装Unbuntu的Linux系统的虚拟机
  3. 跨屏html ui,Amaze UI(HTML5 跨屏前端框架) v2.7.2
  4. ios 网络状态获取_Network Kit X——网络检测工具箱
  5. Android设备 D获取,如何获取Android设备名称(常用ADB命令介绍)
  6. centos7修改mysql数据存储,Centos7 修改mysql8数据文件存储路径方案
  7. mysql+delete删除空行,删除空行 linux
  8. mysql engine 和type_type=INNODB和engine=INNODB的区别
  9. Blazor服务器应用程序中使用EF Core的多租户
  10. 清理Pandas DataFrame中的数据