`
techcurtman
  • 浏览: 49342 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类

基于linux的附加变量设置功能

阅读更多
在${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:如果变量后面接/,表示后面是进行“替换”工作,而且仅替换“第一个”匹配的,如果是//,则表示替换匹配字符串。
分享到:
评论

相关推荐

    linux下连接oracle

    OCI作为一个强大的数据库操作模块,支持事务处理、多连接多数据源操作、对象数据访问、存储过程调用等功能,同时兼容Oracle的多项附加产品。然而,OCI的复杂性和对C语言类型的封装可能让初学者感到困扰,这促使了...

    基于嵌入式Linux和Qtopia平台中文环境的实现.pdf

    然后,在Qtopia配置阶段,设置相应的字符编码参数,例如设置LC_CTYPE环境变量为"zh_CN.UTF-8"来指定使用简体中文UTF-8编码。接着,通过Qt的翻译文件(.ts和.qm文件)实现UI界面的中文翻译,这些文件可以使用Qt ...

    集美大学《基于unix_linux的C系统编程》考卷

    ### 基于Unix/Linux的C系统编程知识点解析 #### 一、简答题解析 **1. 程序输出结果解析** ```c func(char*a){ printf(“%s/n”,sizeof(a)); printf(“%s/n”,strlen(a)); } main(){ char a[]="123456789"; ...

    一个基于ChatGPT 的变量名称生成器 A variable name generator based on Ch.zip

    【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与...

    LINUX下GDB使用手册

    1. **启动程序**:GDB允许你以各种方式启动程序,包括正常执行、附加到已运行进程、设置初始参数等。 2. **设置断点**:你可以设定程序在特定行或函数上暂停执行,以便检查程序状态。例如,在`gdb`命令行中输入`...

    Linux设备驱动之定时器

    它主要用于实现基于时间的事件处理机制,例如延时任务、周期性任务等。本文将详细介绍Linux设备驱动中的定时器结构与API,并通过一个简单的模块实例来演示如何在Linux设备驱动中使用定时器。 #### 二、定时器结构体...

    cpp-ProcDumpSysinternals工具的一个Linux版本

    ProcDump for Linux是微软开发的一款系统诊断工具,它是基于Windows平台的著名系统工具ProcDump的Linux版本。ProcDump是一款强大的动态分析工具,主要用于捕获进程的内存转储,当应用程序出现异常或者达到预设的性能...

    《Linux实用教程》电子教案

    1. **Linux系统介绍**:Linux是一种开源的操作系统,基于Unix,由全世界的开发者共同维护和改进。它提供了稳定、高效且安全的计算环境,广泛应用于服务器、嵌入式设备和桌面系统。 2. **系统安装**:讲解如何在不同...

    案例20 神经网络变量筛选-基于BP的神经网络变量筛选.zip

    【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主...

    案例20 神经网络变量筛选—基于BP的神经网络变量筛选.zip

    【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主...

    Linux操作实验-初步了解Linux的命令格式

    - `[ optionargument(s) ]`:某些选项需要的附加参数。 - `[ commandargument(s) ]`:命令操作的对象或参数。 **示例:** - `lpr -Pspr -n3 proposal.ps` - `lpr`:命令名称。 - `-Pspr`:选项 `-P` 及其参数 `...

    Linux实用大全(第二版)

    1. **Linux基础知识**:Linux是基于Unix的操作系统,开源且免费,具有高度可定制性和安全性。书中会介绍Linux的起源、发展和主要发行版,如Ubuntu、CentOS、Debian等,并讲解如何安装和配置Linux系统。 2. **Linux...

    Linux课后习题1

    Linux的目录结构遵循FHS(Filesystem Hierarchy Standard),根目录“/”下包含各种子目录,如“/bin”存放基础命令,“/etc”存放配置文件,“/home”是用户主目录,“/usr”包含应用程序,“/var”存储变量数据。...

    jdk-19.0.2-linux-aarch64-bin.tar.gz

    安装和使用这个JDK版本时,用户通常会先解压缩文件,然后将解压后的目录移动到系统路径中的适当位置,例如 `/usr/lib/jvm`,并设置相应的环境变量,如 `JAVA_HOME`。这使得系统能够在命令行或其他程序中识别和使用这...

    Linux高级级教程

    常见的Linux发行版有Ubuntu、CentOS、Red Hat Enterprise Linux等,它们基于Linux内核,提供不同的用户界面和附加软件。 二、Shell与命令行 在Linux中,Shell是用户与系统交互的界面。Bash(Bourne-Again SHell)是...

    linux 培训.ppt

    在Linux中,文件系统结构遵循标准的目录布局,例如,/bin存放基本命令,/boot存储引导程序,/dev包含设备文件,/etc保存系统配置,/home为用户主目录,/lib包含共享库,/sbin是系统管理程序,/mnt用于临时挂载其他...

    2005详细介绍Linux从入门到精通.rar_html_linux从入门到精通

    Linux的发行版是基于Linux内核的不同版本,由各个社区或公司定制和打包,提供了用户友好的图形界面和附加软件。"Linux从入门到精通"这个主题涵盖了从安装Linux系统、理解基本命令行操作到高级系统管理的所有知识。在...

Global site tag (gtag.js) - Google Analytics