变量的直接调整运用${variable # 或% }

首先我们设定一个变量 variable=http://www.hao.123.com:80

[[email protected] mnt]# echo ${variable}
http://www.hao.123.com:80

现在我们直接对其作出调整,得到我们想要的部分。

具体应用自己想,不要太方便。。。。。。。。

比如我们还不知道这个地址变量是http或者https我们就要确认,:后的,而其他部分输入冗余我们就去了他们。

[[email protected] mnt]# echo ${variable%%:*}
http

解释:%% :* 从后往前裁剪直到遇到的最后一个冒号

为什么是最后一个呢我们注意到80端口前还有个冒号如果我们要得到端口前的:的前部分我们使用如下

[[email protected] mnt]# echo ${variable%:*}
http://www.hao.123.com

少打一个"%"即可意思是从后往前裁剪直到遇到的第一个冒号

现在我们只想保留www.hao123.com 字段

操作如下

先去掉http://

[[email protected] mnt]# echo ${variable#*//}
www.hao.123.com:80

从前向后裁剪到第一个 //
 (此时我们应该注意到区别从前往后裁剪的时候*号的位置在目的字符之前 而我们使用%从后往前裁剪的时候是在目的字符后面的)

我们让domainp=`echo ${variable#*//}`

[[email protected] mnt]# echo $domainp
www.hao.123.com:80

下来再把端口去掉,很简单          从后往前裁到第一个或者最后一个冒号,都一样, 因为只有一个。

[[email protected] mnt]# echo ${domainp%:*}
 
[[email protected] mnt]# echo ${domainp%%:*}
www.hao.123.com

很容易把这些变量字符串裁剪的方法get了么

就是不太容易记 ,所以实践吧。

时间: 2024-08-03 20:05:53

变量的直接调整运用${variable # 或% }的相关文章

c++设计成员变量可动态调整的动态类结构

本文主要介绍一下如何使用c++设计成员变量可动态调整的抽象动态类结构.首先介绍一下项目中以前使用的一种类结构:静态类结构 1.静态类结构 很多时候,在项目开发中设计类结构时,我们往往有一种简单.直接的惯性思维:原始数据是什么样子,设计中类成员就包含相应的成员变量,这样的类我把它称之为静态类结构.静态类结构有两个特点. 1.1特点一:类结构抽象能力不足. 静态类结构强依赖于原始数据,是针对具体编程而不是针对抽象编程.一旦原始资源新增或者删除字段,类结构就要相应的调整类成员变量,费事费力,而且是重复

python main函数中变量默认为global variable

在python的main函数中的变量默认为全局变量,而其他的def函数中的变量则默认为局部变量. 当然,局部变量会优先于全局变量,在执行formal_print(t_global)语句时便可看出. 测试代码如下: <span style="font-size:18px;">#coding=utf-8 #测试python的全局变量,局部变量的机制 def formal_print(s_global):#常规的传参用法,传递参数进行print,变量名可任意 print &quo

[译]Stairway to Integration Services Level 13 -SSIS 变量回顾

介绍 在前一篇中我们组合了已经学过的事件冒泡 event bubbling, 日志记录 logging, 和父子模型 Parent-Child pattern 建立了自定义的SSIS包日志记录. 本文中, 我们会将我们的解决方案升级至 SQL Server 2012 Integration Services 并且展示 SSIS变量 (SSIS variables), 变量(variable configuration), 以及通过表达式处理动态值 (dynamic value managemen

读汤姆大叔《JavaScript变量对象》笔记

一段简单的JavaScript代码思考 先看一段简单的代码,打印结果是??为什么why?? 从上述打印结果不难看出,在打印基本变量num.函数表达式fn.函数声明fun时,就已经知道变量num.函数表达式fn值为undefined,函数声明fun值为function 但这样会存在一个疑问?js在代码执行之前打印时(变量.函数表达式.函数声明)就存在值,那么在打印(变量.函数表达式.函数声明)之前究竟发了什么?? [答案是变量对象.执行上下文代码的2个阶段] (当然 打印在基本变量num.函数表达

对话框控件绑定变量及操作

对话框控件绑定变量 右键单击控件,添加变量. 复选框:添加变量为控件变量.可以操作控件. 列表框:选择添加变量的控件的ID. 列表框:选择添加的变量的类别,Control为控件控制类型.Value为关联值变量,可以设置数据验证 编辑框:添加的控件变量名. 复选框:不选中,则为控件关联一个变量.不可以操作控件. 列表框:选择关联变量类型. 编辑框:添加的控件变量名.  头文件中添加的变量 // CMFCTestDlg dialog class CMFCTestDlg : public CDialo

BEx Query Designer中的变量及其增强

About Variable: 1.Variable 是和InfoObject绑定的,可用于任何含有该IO的query中. 2.Variable有以下几种类型: Characteristic:用于限制Char. Text:用于在报表动态显示文本. Hierarchy:用于限制Hierarchy. Hieararchy Node:用于限制Hierarchy Node. Formula: 可以在公式中使用变量,让用户输入一个数,读取某个Char.的属性(例如Prduct的price属性)等来用于计算

通过shell脚本来解释变量

变量赋值.替换等 #!/bin/bash#1.单变量赋值variable1=33           #将变量variable1赋值为33echo ${variable1}      ##第一种显示方法为${variable1}echo $variable1        ##第二种显示方法为$variable1 variable2="hello world"  #将变量variable2赋值为"hello world",需要用双引号,避免出现字符分隔echo $v

【Shell】变量的取用、删除、取代与替换

——来自<鸟哥的Linux私房菜> ——总结做方便查阅之用 变量的取用: echo echo $variableecho $PATHecho ${PATH} 变量的配置守则1.变量与变量内容以一个等号『=』来连结,如下所示: 『myname=VBird』 2.等号两边不能直接接空格符,如下所示为错误: 『myname = VBird』或『myname=VBird Tsai』 3.变量名称只能是英文字母与数字,但是开头字符不能是数字,如下为错误: 『2myname=VBird』 4.变量内容若有

关于javascript中的 执行上下文和对象变量

什么是执行上下文 当浏览器的解释器开始执行我们的js代码的时候,js代码运行所处的环境可以被认为是代码的执行上下文,执行上下文(简称-EC)是ECMA-262标准里的一个抽象概念,用于同可执行代码(executable code)概念进行区分.一般来讲,执行上下文可以在以下三种情况产生: 1. 全局上下文(globalContext)   2. function 内部 3. Eval code. 看个例子,包含全局和function内部上下文 紫色框内表示全局的执行上下文,同时内部会有3个不同的