Shell--变量内容的删除、替代与替换
1、 变量内容的删除与替换

#代表由前面开始删除,所以这里便由开始的/删起,*来代替0到无穷多个任意字符
%由后面向前删除变量内容
例如:echo ${path%:*bin}删除最有一个目录,即从:到bin为止的字符串并且是最短的
echo ${path/sbin/SBIN}:两个斜线中间的是旧字符,后面的是新字符
|
变量设置方式 |
说明 |
|
${变量#关键字} |
若变量内容从头开始的数据符合“关键字”,则将符合的最短数据删除 |
|
${变量##关键字} |
若变量内容从头开始的数据符合“关键字”,则将符合的最短数据删除 |
|
${变量%关键字} |
若变量内容从尾向前的数据符合“关键字”,则将符合的最短数据删除 |
|
${变量%%关键字} |
若变量内容从尾向前的数据符合“关键字”,则将符合的最长数据删除 |
|
${变量/旧字符串/新字符串} |
若变量内容符合“旧字符串”,则第一个旧字符串会被新字符串替换 |
|
${变量//旧字符串/新字符串} |
若变量内容符合“旧字符串”,则全部的旧字符串会被新字符串替换 |
2、变量的测试与内容替换
|
变量设置方式 |
Str没有设置 |
Str为空字符串 |
Str已设置非为空字符串 |
|
Var=${str-expr} |
Var=expr |
Var= |
Var=$str |
|
Var=${str:-expr} |
Var=expr |
Var=expr |
Var=$str |
|
Var=${str+expr} |
Var= |
Var=expr |
Var=expr |
|
Var=${str:+expr} |
Var= |
Var= |
Var=expr |
|
Var=${str=expr} |
Str=expr |
str不变 |
str不变 |
|
Var=${str:=expr} |
Str=expr |
Str=expr |
str不变 |
|
Var=${str?expr} |
expr输出至stderr |
Var= |
Var=str |
|
Var=${str:?expr} |
expr输出至stderr |
expr输出至stderr |
Var=str |
Shell--变量内容的删除、替代与替换的更多相关文章
- 常见linux命令释义(第七天)——ulimit 与变量内容的删除替代与替换。
linux是一个多用户多任务的系统,不同于windows的单人多任务操作系统.再linux上,在同一个时间点上,可以有多个人同时执行多个任务. 那么假若有10个用户,同时打开了100个100M的文件. ...
- shell ## %% 变量内容的删除、替代和替换
这个写的很清楚: https://www.cnblogs.com/zhaosunwei/p/6831529.html 自己的理解:以后补充 从前向后删除 # 符合替换字符的“最短的”那个 ## 符合替 ...
- 变量内容的删除、取代与替换 (Optional)
变量除了可以直接设置来修改原本的内容之外,有没有办法通过简单的动作来将变量的内容进行微调呢? 举例来说,进行变量内容的删除.取代与替换等!是可以的!我们可以通过几个简单的小步骤来进行变量内容的微调喔! ...
- Linux变量内容的删除、取代与替换
变量内容的删除与取代 范例一:先让小写的 path 自定义变量配置的与 PATH 内容相同 [root@www ~]# path=${PATH} [root@www ~]# echo $path /u ...
- Linux变量内容的删除、代替与替换
变量内容的删除与代替 范例一:先让小写的 path 自己定义变量配置的与 PATH 内容同样 [root@www ~]# path=${PATH} [root@www ~]# echo $path / ...
- 变量内容的删除、取代与替换(optional)
这部分内容非常繁琐且不易记忆且枯燥,用到来查询即可. 1.变量内容的删除 这一部分比较细枝末节,就不再一一手打了,贴范例图片 #:符合取代文字的最短的一个 ##:符合取代文字的最长的一个 2.变量内容 ...
- shell中变量内容的删除,替代
删除 ${varname#strMatch} // 在varname中从头匹配strMatch,然后删除从头到第一次匹配到的位置 ${varname##strMatch} // 在varname中从头 ...
- Shell变量的取用、删除、取代与替换
<<鸟哥的私房菜>> 注意: 通配符适用的地方:shell命令行或者shell脚本中 正则表达式适用的地方:字符串处理时,一般有一般正则和Perl正则. 在文本过滤工具里,都是 ...
- 【转】Linux下变量内容删除与替换
转自:http://www.linuxidc.com/Linux/2015-01/111781.htm 当一个变量被赋予值后,有时会对变量的值进行一些微小的调整,比如删除变量值中特定一部份,或替换掉一 ...
随机推荐
- Strassen优化矩阵乘法(复杂度O(n^lg7))
按照算法导论写的 还没有测试复杂度到底怎么样 不过这个真的很卡内存,挖个坑,以后写空间优化 还有Matthew Anderson, Siddharth Barman写了一个关于矩阵乘法的论文 < ...
- 3.5 实例讲解Lucene索引的结构设计
3.2节我们已经运行了一个Lucene建立索引的小程序,这一节我们就以这个小程序为例讲解一下Lucene建立索引的过程. import java.nio.charset.StandardCharset ...
- VMware Fault Tolerance 概述及功能
VMware Fault Tolerance - 为您的应用程序提供全天候可用性 通过为虚拟机启用 VMware Fault Tolerance,最大限度地延长数据中心的正常运行时间,减少停机管理成本 ...
- Topcoder SRM 602 div1题解
打卡- Easy(250pts): 题目大意:rating2200及以上和2200以下的颜色是不一样的(我就是属于那个颜色比较菜的),有个人初始rating为X,然后每一场比赛他的rating如果增加 ...
- SoundPool 播放提示音
SoundPool 一个声音播放的辅助类,从名字可以看出,它具有 “池”的能力,它先加载声音文件到内存,以支持多次播放声音文件. 特点 SoundPool适合 短小的 声音文件 SoundPool适合 ...
- xmlhelper类
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Xm ...
- sql server判断数据库、表、列、视图是否存在
1 判断数据库是否存在 if exists (select * from sys.databases where name = '数据库名') drop database [数据库名] 2 判断表是否 ...
- 关于多态的理解,有助于理解TStream抽象类的多态机制。
有的时候 不是很明白流的机制,因为有内存流 文件流 图片流 等等 他们之间的相互转化 靠的就是流的多态性.... unit Unit11; interface uses Winapi.Windows ...
- Appium+python自动化9-SDK Manager【转载】
前言 SDK Manager到有哪些东西是必须安装的呢? 一.SDK Manager 1.双击打开SDK Manager界面
- Selenium2+python自动化6-八种元素元素定位(Firebug和firepath)【转载】
前言 自动化只要掌握四步操作:获取元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告.本篇主要讲如何用firefox辅助工具进行元素定位.元素定位在这四个环节中是至关 ...