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

Shell变量的删除:

[email protected]:~$ path=${PATH}     ##设置path和PATH相同内容
[email protected]:~$ echo $path
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
[email protected]:~$ echo ${path#/*sbin:}        ##加上‘#’符号删除匹配‘/*sbin:‘最小组合
/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
[email protected]:~$ echo ${path##/*sbin:}        ##加上‘##’删除匹配‘/*sbin:‘最大组合
/bin:/usr/games:/usr/local/games

变量设置方法


说                    明


${变量#关键字}


若变量内容从开头开始的数据符合“关键字”,则删除最短组合


${变量##关键字}


若变量内容从开头开始的数据符合“关键字”,则删除最长组合


${变量%关键字}


若变量内容从尾部开始的数据符合“关键字”,则删除最短组合


${变量%%关键字}


若变量内容从尾部开始的数据符合“关键字”,则删除最长组合


${变量/旧字符串/新字符串}


若变量内容符合旧字符串,则将第一个旧字符串替换成新字符串


${变量//旧字符串//新字符串}


若变量内容符合旧字符串,则将第一个旧字符串替换成新字符串

Shell变量的替换:

[email protected]:~$ path=${PATH}     ##设置path和PATH相同内容
[email protected]:~$ echo $path
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
[email protected]:~$ echo ${path/sbin/newsbin}     ##将第一个sbin替换成newsbin
/usr/local/newsbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
[email protected]:~$ echo ${path//sbin//newsbin}      ##将所有的sbin替换成newsbin
/usr/local//newsbin:/usr/local/bin:/usr//newsbin:/usr/bin://newsbin:/bin:/usr/games:/usr/local/games

Shell变量的替代:

     变量设置方式            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     var=expr   str=不变     var=        str=不变     var=$str
    var=${str:=expr}  str=expr     var=expr   str=expr     var=expr        str=不变     var=$str
    var=${str?expr}    expr输出至stderr                  var=                   var=str
    var=${str:?expr}    expr输出至stderr    expr输出至stderr                   var=str
时间: 2024-10-12 14:41:02

Shell变量内容的删除、替代与替换的相关文章

常见linux命令释义(第七天)——ulimit 与变量内容的删除替代与替换。

linux是一个多用户多任务的系统,不同于windows的单人多任务操作系统.再linux上,在同一个时间点上,可以有多个人同时执行多个任务. 那么假若有10个用户,同时打开了100个100M的文件.你觉得你的linux能够吃的消吗.你能任由其他的用户肆意的占用你的linux运行内存吗?如果你能忍受,现在你的机子估计已经宕机了.接下来我们来看看如何来限制用户的某些系统资源,包括可以打开的文件数量.可以使用的CPU时间,可以使用的内存总数量,如何设置呢? 试试ulimit吧.这ulimit命令也十

Shell与shellscript学习笔记之三(变量内容的删除、替代与替换)

1. 变量内容的删除与替换 #代表由前面开始删除,所以这里便由开始的/删起,*来代替0到无穷多个任意字符 %由后面向前删除变量内容 例如:echo ${path%:*bin}删除最有一个目录,即从:到bin为止的字符串并且是最短的 echo ${path/sbin/SBIN}:两个斜线中间的是旧字符,后面的是新字符 变量设置方式 说明 ${变量#关键字} 若变量内容从头开始的数据符合"关键字",则将符合的最短数据删除 ${变量##关键字} 若变量内容从头开始的数据符合"关键字

变量内容的删除、取代与替换

变量内容的删除与取代 1)${变量#关键词}:从变量开头开始检索与关键词匹配的数据,将匹配的最短数据删除. 例: [[email protected] abc]# echo $PATH /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin [[email protected] abc]# echo ${PATH#*:} /usr/local/sbin:/usr/lo

Linux变量内容的删除、取代与替换

变量内容的删除与取代 范例一:先让小写的 path 自定义变量配置的与 PATH 内容相同 [[email protected] ~]# path=${PATH} [[email protected] ~]# echo $path /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin: /usr/sbin:/usr/bin:/root/bin <==这两行其实是同一行啦! 范例二:假设我不喜欢

Linux变量内容的删除、代替与替换

变量内容的删除与代替 范例一:先让小写的 path 自己定义变量配置的与 PATH 内容同样 [[email protected] ~]# path=${PATH} [[email protected] ~]# echo $path /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin: /usr/sbin:/usr/bin:/root/bin <==这两行事实上是同一行啦! 范例二:如果我不

shell中变量内容的删除,替代

删除 ${varname#strMatch} // 在varname中从头匹配strMatch,然后删除从头到第一次匹配到的位置 ${varname##strMatch} // 在varname中从头匹配strMatch,然后删除从头到最后一次匹配到的位置 ${varname%strMatch} // 在varname中尾头匹配strMatch,然后删除从尾到第一次匹配到的地方 ${varname%%strMatch} // 在varname中尾头匹配strMatch,然后删除从尾到最后次匹配到

linx下变量内容删除与替换

当一个变量被赋予值后,有时会对变量的值进行一些微小的调整,比如删除变量值中特定一部份,或替换掉一个特点的字符等,如下以举例来说明. 1.变量内容的删除 [[email protected] ~]# echo ${PATH} #呼叫出PATH变量的值 /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/mysql/bin:/root/bin [[email protected] ~]# echo ${PAT

Shell变量的取用、删除、取代与替换

<<鸟哥的私房菜>> 变量的取用: echo echo $variableecho $PATHecho ${PATH} 变量的配置守则1.变量与变量内容以一个等号『=』来连结,如下所示:  『myname=VBird』 2.等号两边不能直接接空格符,如下所示为错误:  『myname = VBird』或『myname=VBird Tsai』 3.变量名称只能是英文字母与数字,但是开头字符不能是数字,如下为错误:  『2myname=VBird』 4.变量内容若有空格符可使用双引号『

[笔记]shell变量基础

变量命名:使用英文,数字及 _ (下划线)组成,开头不能是数字,长度无限制,严格区分大小写 变量设置:变量名=变量值     注意:等号两边无空格       可以把变量值用单引号或双引号括起来       不支持所有中文符号(包括中文的单双引号)       可使用反单引号(Tab键上方) `COMMAND` 或$(COMMAND)来取得COMMAND的输出       使用"\"转义可将特殊字符如\ $ ! 空格符 等变为普通字符       可在script中添加'shopt -