`
- 浏览:
49407 次
- 性别:
- 来自:
重庆
-
在${variable}的使用方法中,我们还可以修改变量,只要加上一些字符标志,后面再接着使用比较字符串,就能修改变量的内容了。
eg:
1、设置变量hello
[root@linux ~]#hello="/hi/hello/nihaoya/nihaoya.txt"
[root@linux ~]#echo ${hello}
/hi/hello/nihaoya/nihaoya.txt
2、在hello变量中,从最前面开始比较,若开头为/,则删除两个/之间所有的数据,即/*/
[root@linux ~]#echo ${hello##/*/}
nihaoya.txt--------删除了="/hi/hello/nihaoya/
[root@linux ~]#echo ${hello#/*/}
hello/nihaoya/nihaoya.txt--------仅删除/hi/
PS:从这两个例子可以看出,变量名后面如果有两个##,表示在##后面的字符串取“最长的”那一段;如果仅有一个#,表示取“最小的”那一段。
3、在hello变量中,如果从最后面开始比较,那会是怎样一种情况呢。。。。。。
[root@linux ~]#echo ${hello%%/*/}
/hi/hello/nihaoya/nihaoya.txt-----一个都没有删除
[root@linux ~]#echo ${hello%%/*}
--------------------都被删除了
[root@linux ~]#echo ${hello%/*}
/hi/hello/nihaoya-----------------只删除/nihaoya.txt这一部分
PS:好了,我们现在知道%的用法了,%比较的是“最后面那个字符”的意思,所以,第一个方式肯定不对,因为hello变量最后面的内容是t,而不是/。对于%%/*则是删除“最长的那个/*",而"%/*"则是“最短的那个”。
4、在hello变量中,将nihaoya替换成NIHAO
[root@linux ~]#echo ${hello/nihaoya/NIHAO}
/hi/hello/NIHAO/nihaoya.txt
[root@linux ~]#echo ${hello//nihaoya/NIHAO}
/hi/hello/NIHAO/NIHAO.txt
PS:如果变量后面接/,表示后面是进行“替换”工作,而且仅替换“第一个”匹配的,如果是//,则表示替换匹配字符串。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
OCI作为一个强大的数据库操作模块,支持事务处理、多连接多数据源操作、对象数据访问、存储过程调用等功能,同时兼容Oracle的多项附加产品。然而,OCI的复杂性和对C语言类型的封装可能让初学者感到困扰,这促使了...
然后,在Qtopia配置阶段,设置相应的字符编码参数,例如设置LC_CTYPE环境变量为"zh_CN.UTF-8"来指定使用简体中文UTF-8编码。接着,通过Qt的翻译文件(.ts和.qm文件)实现UI界面的中文翻译,这些文件可以使用Qt ...
### 基于Unix/Linux的C系统编程知识点解析 #### 一、简答题解析 **1. 程序输出结果解析** ```c func(char*a){ printf(“%s/n”,sizeof(a)); printf(“%s/n”,strlen(a)); } main(){ char a[]="123456789"; ...
【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与...
1. **启动程序**:GDB允许你以各种方式启动程序,包括正常执行、附加到已运行进程、设置初始参数等。 2. **设置断点**:你可以设定程序在特定行或函数上暂停执行,以便检查程序状态。例如,在`gdb`命令行中输入`...
它主要用于实现基于时间的事件处理机制,例如延时任务、周期性任务等。本文将详细介绍Linux设备驱动中的定时器结构与API,并通过一个简单的模块实例来演示如何在Linux设备驱动中使用定时器。 #### 二、定时器结构体...
ProcDump for Linux是微软开发的一款系统诊断工具,它是基于Windows平台的著名系统工具ProcDump的Linux版本。ProcDump是一款强大的动态分析工具,主要用于捕获进程的内存转储,当应用程序出现异常或者达到预设的性能...
1. **Linux系统介绍**:Linux是一种开源的操作系统,基于Unix,由全世界的开发者共同维护和改进。它提供了稳定、高效且安全的计算环境,广泛应用于服务器、嵌入式设备和桌面系统。 2. **系统安装**:讲解如何在不同...
【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主...
【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主...
- `[ optionargument(s) ]`:某些选项需要的附加参数。 - `[ commandargument(s) ]`:命令操作的对象或参数。 **示例:** - `lpr -Pspr -n3 proposal.ps` - `lpr`:命令名称。 - `-Pspr`:选项 `-P` 及其参数 `...
1. **Linux基础知识**:Linux是基于Unix的操作系统,开源且免费,具有高度可定制性和安全性。书中会介绍Linux的起源、发展和主要发行版,如Ubuntu、CentOS、Debian等,并讲解如何安装和配置Linux系统。 2. **Linux...
Linux的目录结构遵循FHS(Filesystem Hierarchy Standard),根目录“/”下包含各种子目录,如“/bin”存放基础命令,“/etc”存放配置文件,“/home”是用户主目录,“/usr”包含应用程序,“/var”存储变量数据。...
安装和使用这个JDK版本时,用户通常会先解压缩文件,然后将解压后的目录移动到系统路径中的适当位置,例如 `/usr/lib/jvm`,并设置相应的环境变量,如 `JAVA_HOME`。这使得系统能够在命令行或其他程序中识别和使用这...
常见的Linux发行版有Ubuntu、CentOS、Red Hat Enterprise Linux等,它们基于Linux内核,提供不同的用户界面和附加软件。 二、Shell与命令行 在Linux中,Shell是用户与系统交互的界面。Bash(Bourne-Again SHell)是...
在Linux中,文件系统结构遵循标准的目录布局,例如,/bin存放基本命令,/boot存储引导程序,/dev包含设备文件,/etc保存系统配置,/home为用户主目录,/lib包含共享库,/sbin是系统管理程序,/mnt用于临时挂载其他...
2. **环境变量配置**:为了使系统能够找到这些库文件,需要设置环境变量 `LD_LIBRARY_PATH`。在终端中输入: ``` export LD_LIBRARY_PATH=/opt/oracle/instantclient_21_7:$LD_LIBRARY_PATH ``` 如果希望永久...