我正在尝试写一个简单的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")