Chinaunix首页 | 论坛 | 博客
  • 博客访问: 31319
  • 博文数量: 9
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 117
  • 用 户 组: 普通用户
  • 注册时间: 2014-04-15 11:41
个人简介

逗逼说二货人生精彩,二货说逗逼人生有趣

文章分类

全部博文(9)

文章存档

2014年(9)

我的朋友

分类: LINUX

2014-10-05 15:03:06

[root@master ssh]# path=${PATH}
[root@master ssh]# echo $path
/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/java/jdk1.6.0_30//bin:/usr/local/hadoop/bin:/root/bin
[root@master ssh]# echo ${path#/*qt-3.3/bin:}                      (删除/usr/lib/qt-3.3/bin:)
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/java/jdk1.6.0_30//bin:/usr/local/hadoop/bin:/root/bin

[root@master ssh]# echo ${path#*:}
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/java/jdk1.6.0_30//bin:/usr/local/hadoop/bin:/root/bin
 
[root@master ssh]# echo ${path##/*:}
/root/bin

从头删除掉目录就是介于/ 到:之间的数据。但是PATH中不止一个冒号:,所以#: 代表  :符合替换文字的“最短”那一个。##:代表符合替换文字”最长“那一个。


[root@master ssh]# echo ${path%:*bin}
/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/java/jdk1.6.0_30//bin:/usr/local/hadoop/bin

[root@master ssh]# echo ${path%%:*bin}
/usr/lib/qt-3.3/bin

从后向前删除

例如: root的mail 是/var/spool/mail/root  
[root@master ssh]# echo ${MAIL##/*/}
root
[root@master ssh]# echo ${MAIL%/*}
/var/spool/mail

替换,将path的变量sbin替换成SBIN
echo ${path/sbin/SBIN}        (替换一个)     ;           echo ${path//sbin/SBIN}          (全部替换)


${变量#关键词} 若变量内容从头开始的数据符合”关键词“,则将符合的最短数据删除
${变量##关键词}若变量内容从头开始的数据符合”关键词“,则将符合的最长数据删除
${变量%关键词}若变量内容从尾向前的数据符合”关键词“,则将符合的最短数据删除
${变量%%关键词}若变量内容从尾向前的数据符合”关键词“,则将符合的最长数据删除
${变量/旧字符串/新字符串}若变量内容符合”旧字符串“,则第一个旧字符串会被新字符串替换
${变量//旧字符串/新字符串}若变量内容符合”旧字符串“,则全部的旧字符串会被新字符串替换
阅读(1028) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~