zoukankan      html  css  js  c++  java
  • Linux中shell字符串分隔、字符串替换、字符串拼接

    1、从properties文件中读取变量

    SERVER_NAME=`sed '/project.config/!d;s/.*=//' conf/dubbo.properties | tr -d ' '`

    说明

    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 ' '`

    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

  • 相关阅读:
    网址集合
    简单工具类-JsonUtil
    简单工具类-CookieUtils
    pom.xml
    jdbc.properties
    springmvc.xml
    applicationContext-redis.xml(spring整合redis集群)
    applicationContext-dao.xml
    web.xml
    环境变量配置及eclipse基本配置
  • 原文地址:https://www.cnblogs.com/wuac/p/11121709.html
Copyright © 2011-2022 走看看