鸟哥释疑——关于变量的删除
来源:互联网 发布:淘宝同城的怎么搜索 编辑:程序博客网 时间:2024/05/29 17:01
鸟哥这本书的第十一章 认识与学习Bash 2.8节 变量内容的删除、取代与替换这一节中有两个稍微出彩的地方:note1:*代替0个或多个字符note2:#的最短和##的最长另外有一点要记住,左边是#,右边则是%note1:文中命令行:[root@www ~]# path=${PATH}[root@www ~]# echo $path/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin[root@www ~]# echo ${path#/*kerberos/bin:}/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
在删除/usr/kerberos/bin:的同时,也删除了/usr/kerberos/sbin:,这是因为/*/kerberos/bin:这段中,*可以代表一个或多个字符,在这里,*=usr/kerberos/bin:/usr/,所以才会出现这个删除结果。
note2:
文中的例子:
[root@www ~]# echo $path
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin[root@www ~]# echo ${path#/*:}/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin这里删除了最短的部分:/usr/kerberos/sbin:,其中*=划横线部分。
[root@www ~]# echo ${path##/*:}/root/bin这里删除了剩余的最长的部分:/usr/kekrberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:,其中*=划横线部分。
我自己再来一个例子吧:
[root@www Desktop]# test1=myname,mynum,my1name,my1num
给变量test1一个值
[root@www Desktop]# test2=${test1#*,}从左侧开始删除。并将结果赋给test2
[root@www Desktop]# echo $test2
mynum,my1name,my1num
[root@www Desktop]# echo ${test2##*,}
my1num
最长的删除,删除结果。
0 0
- 鸟哥释疑——关于变量的删除
- 关于引用的一个释疑
- 关于LOBSEGMENT和SYS_LOB**$$的释疑
- 关于《梦回水浒》的几个问题释疑
- 关于Storm的几点困惑释疑
- 鸟哥笔记——关于变量的基本配置
- 走进程序世界的田园——引导扇区释疑
- 数据结构——对图中重连通分量输出的释疑
- 关于py2exe的setup.py的部分释疑
- 关于java的JNI和android的NDK释疑
- 关于html上脚本语言的一点小释疑
- 关于IIS中客户端数字证书的认证问题释疑
- 关于交叉编译器及其指令集的释疑
- 指针释疑——基础(整理)
- 走进程序世界的田园——引导扇区释疑 (转载zjneter的专栏)
- 指针释疑——const int *pi与int *const pi的区别(整理)
- 释疑の删除多余的ALV布局以及选择条件变式
- C++对象访问私有变量释疑
- android 检测Service是否正在运行
- Study JavaScript《parseInt使用》
- Java 实现抽象工厂模式
- calltree 在ubuntu(12.04)上的编译 ___附 已编译+源码包
- 关于linux进程间的close-on-exec机制
- 鸟哥释疑——关于变量的删除
- android Button 的按下和抬起事件监听
- Android中SQLite应用详解
- Chapter 2. Thread Safety
- 命令行刷图工具,VC++
- linux下USB转串口的设置
- 手把手教你破解无线路由器密码
- Java日期工具类
- Bootstrap 基础CSS - 表格(Tables) .table-striped