加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – String替换这个shell变量?

发布时间:2020-12-15 19:14:02 所属栏目:安全 来源:网络整理
导读:我正在尝试写一个简单的Bash脚本。我有一个简单的“模板”变量: template = "my*appserver" 然后我有一个函数(get_env())返回值dev,qa或live。我想调用get_env,然后使用get_env的返回值字符串替换模板变量,并用星号进行交换。所以: # Returns "dev"serv
我正在尝试写一个简单的Bash脚本。我有一个简单的“模板”变量:
template = "my*appserver"

然后我有一个函数(get_env())返回值dev,qa或live。我想调用get_env,然后使用get_env的返回值字符串替换模板变量,并用星号进行交换。所以:

# Returns "dev"
server = get_env

# Prints "mydevappserver"
template = string_replace(server,template)

要么:

# This time,it returns "live"
server = get_env

# Prints "myliveappserver"
template = string_replace(server,template)

我应该用什么代替这个string_replace()函数来完成绑定?提前致谢。

Bash可以自己做字符串替换:
template='my*appserver'
server='live'
template="${template/*/$server}"

有关字符串替换的更多详细信息,请参阅advanced bash scripting guide。

所以对于bash功能:

function string_replace {
    echo "${1/*/$2}"
}

并使用:

template=$(string_replace "$template" "$server")

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读