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

删除

  • ${varname#strMatch}   // 在varname中从头匹配strMatch,然后删除从头到第一次匹配到的位置
  • ${varname##strMatch}  // 在varname中从头匹配strMatch,然后删除从头到最后一次匹配到的位置
  • ${varname%strMatch}  // 在varname中尾头匹配strMatch,然后删除从尾到第一次匹配到的地方
  • ${varname%%strMatch}  // 在varname中尾头匹配strMatch,然后删除从尾到最后次匹配到的地方
  • ${varname/oldStr/newStr}  // 第一个匹配到旧串的,将会被新串取代
  • ${varname//oldStr/newstr}  // 所有匹配到旧串的,将都会被新串取代

替代

  • var=${str-content}  // 如果str没有设置值,var=content,否则var=str
  • var=${str:-content}  // 如果str没有设置值或者str为空,var=content,否则var=str
  • var=${str+content}  // 如果str没有设置值,var= ,否则var=content
  • var=${str:+content}  // 如果str没有设置值或者str为空,var= ,否则var=content
  • var=${str=content}  // 如果str没有设置值,var=str=content ,否则var=content
  • var=${str:=content}  // 如果str没有设置值或者str为空,var=str=content ,否则var=content
  • var=${str?content}  // 如果str没有设置值,content输出到stderr ,否则var=str
  • var=${str:?content}  //如果str没有设置值或者str为空,content输出到stderr ,否则var=str
时间: 2024-10-16 01:20:28

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}:两个斜线中间的是旧字符,后面的是新字符 变量设置方式 说明 ${变量#关键字} 若变量内容从头开始的数据符合"关键字",则将符合的最短数据删除 ${变量##关键字} 若变量内容从头开始的数据符合"关键字

shell中变量的使用(2)

shell中变量的几点知识: 变量: 1.在默认情况下,所有的变量都被看做字符串来存储的 2.变量区分大小写 3.在变量名前加$来访问内容 4.不需要声明 5.双引号中允许$扩展(用变量的值替换),单引号不行. 示例: s=hello         #(注意等号两边不能有空格) echo $s 环境变量: shell脚本开始执行时,一些变量会根据环境设置中的值进行初始化,这些变量就是环境变量.习惯大写字母. $HOME 当前用户的家目录 $PATH  以冒号分割的用来搜索命令的目录列表 $0 

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

变量内容的删除与取代 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判断变量内容里包含特定字符串

shell判断变量内容里包含特定字符串 shell [ "$str" =~ "IEEE80211" ] && echo "it contains IEEE80211" [email protected] 2017-5-11

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:}        ##加上'#'符号删除匹

shell中变量的查看和删除

例如:现在有两个用户自定义变量 name="刘德华" age=20 set命令是用来查看变量 unset命令用来删除变量 unset name unset age