Linux中shell字符串分隔、字符串替换、字符串拼接
1、从properties文件中读取变量
SERVER_NAME=`sed '/project.config/!d;s/.*=//' conf/dubbo.properties | tr -d '\r'`
说明
key=project.config,文件名:conf/dubbo.properties
2、字符串替换
${变量/查找/替换值} 一个'/'表示替换第一个'//'表示替换所有,当查找出中出现了一些需要转义的需要加上\:"/"需要转移成"\/","#"需要转移成"\#"
var=analy#analy.properties
echo ${var/\#/=}
输出是:analy=analy.properties
3、字符串拼接
#!/bin/bash
name="Shell"
str="Test"
str1=$name$str #中间不能有空格
str2="$name $str" #如果被双引号包围,那么中间可以有空格
str3=$name": "$str #中间可以出现别的字符串
str4="$name: $str" #这样写也可以
str5="${name}Script: ${str}" #这个时候需要给变量名加上大括号
echo $str1
echo $str2
echo $str3
echo $str4
echo $str5
运行结果:
ShellTest
Shell Test
Shell: Test
Shell: Test
ShellScript: Test
4、字符串按“,”分隔
#!/bin/bash
string="hello,shell,haha"
array=(${string//,/ })
for var in ${array[@]}
do
echo $var
done
5、综合应用
#!/bin/bash
cd `dirname $0`
BIN_DIR=`pwd`
cd ..
SERVER_NAME=`sed '/project.config/!d;s/.*=//' conf/dubbo.properties | tr -d '\r'`
JAVA_OPTS=" -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true"
array=(${SERVER_NAME//,/ })
for var in ${array[@]}
do
JAVA_OPTS="$JAVA_OPTS -D${var/\#/=}"
echo $var
done
echo $JAVA_OPTS
Linux中shell字符串分隔、字符串替换、字符串拼接的更多相关文章
- linux中shell变量$#,$@,$0,$1,$2的含义
linux中shell变量$#,$@,$0,$1,$2的含义解释: 变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行 ...
- Linux中Shell
Linux中Shell Shell是什么 Shell是一个命令行解释器,为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,可以用Shell来启动.挂起.停止.编写一些程序. S ...
- linux中shell变量$#,$@,$0,$1,$2的含义解释
linux中shell变量$#,$@,$0,$1,$2的含义解释: 变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行 ...
- linux中shell变量$#,$@,$0,$1,$2的含义解释
linux中shell变量$#,$@,$0,$1,$2的含义解释 linux中shell变量$#,$@,$0,$1,$2的含义解释: 变量说明: $$ Shell本身的PID(ProcessID ...
- Linux中shell变量$0,$?等含义
linux中shell变量$#,$@,$0,$1,$2的基本含义: 变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行 ...
- 【转】linux中shell变量$#,$@,$0,$1,$2的含义解释
原文网址:http://www.cnblogs.com/fhefh/archive/2011/04/15/2017613.html linux中shell变量$#,$@,$0,$1,$2的含义解释: ...
- 【Shell】linux中shell变量$#,$@,$0,$1,$2的含义解释 && set 关键字使用
linux中shell变量$#,$@,$0,$1,$2的含义解释 摘抄自:ABS_GUIDE 下载地址:http://www.tldp.org/LDP/abs/abs-guide.pdf linu ...
- linux中shell变量$#,$@,$0,$1,$2
linux中shell变量$#,$@,$0,$1,$2的含义解释: 变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行 ...
- 浅谈linux中shell变量$#,$@,$0,$1,$2,$?的含义解释
浅谈linux中shell变量$#,$@,$0,$1,$2,$?的含义解释 下面小编就为大家带来一篇浅谈linux中shell变量$#,$@,$0,$1,$2的含义解释.小编觉得挺不错的,现在就分享给 ...
- linux中shell变量$#,$@,$0,$1,$2的含义解释<转>
linux中shell变量$#,$@,$,$,$2的含义解释: 变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行的命 ...
随机推荐
- Pyton项目打包成exe文件
Python项目打包成exe文件 1 系统环境 windows版本: Win7 64位 python环境:Anaconda python版本:3.6 64位 pyinstaller版本:3.5 1 安 ...
- gitlab备份恢复
1.Gitlab 创建备份1.1 创建备份文件 首先我们得把老服务器上的Gitlab整体备份,使用Gitlab一键安装包安装Gitlab非常简单, 同样的备份恢复与迁移也非常简单. 使用一条命令即可创 ...
- D3.js的v5版本入门教程(第八章)—— 坐标轴
D3.js的v5版本入门教程(第八章) D3中没有现成的坐标轴图形,需要我们自己用其他组件拼凑而成.D3中提供了坐标轴组件,使得我们在SVG中绘制一个坐标轴变得像添加一个普通元素那样简单 为了表绘制一 ...
- JdkDynamicAopProxy 拦截器链的获得与递归执行
JdkDynamicAopProxy类的invoke方法 1.获得拦截器链 List<Object> chain = this.advised.getInterceptorsAndDyna ...
- 泡泡一分钟:Tightly-Coupled Aided Inertial Navigation with Point and Plane Features
Tightly-Coupled Aided Inertial Navigation with Point and Plane Features 具有点和平面特征的紧密耦合辅助惯性导航 Yulin Ya ...
- flink入门(一)——基本原理与应用场景
一.简介 1.简介 flink是一个开源的分布式流处理框架 优势:高性能处理.高度灵活window操作.有状态计算的Exactly-once等 详情简介,参考官网:https://flink.apac ...
- 【Log】logback实现每个类和包自定义级别输出
本例想实现对类或者包中的日志,自定义级别输出 方法一 1.自定义日志级别方式如下: 代码文件:Logger monitorLogger = LoggerFactory.getLogger(" ...
- 获取进程 pid 以及命令参数
方法一: wmic process where name="node.exe" get ProcessId,CommandLine 方法二: tlist -c
- nodejs 管道判断
// 不优雅的判断管道判断 let d process.stdin.on('data', chunk => { d = String(chunk) }) setTimeout(() => ...
- Laya的版本管理
参考: Laya项目发布详解 发布时,勾选开启版本管理 点击上图“是否开启版本管理”右边的+号. 可以选择加入版本管理,或者排除版本管理的文件夹. 比如我要排除bin/test这个文件夹下的文件,不使 ...