【发布时间】:2019-10-11 19:46:39
【问题描述】:
我想自动转换网址,即
- “https://sc-uat.ct.example.com/sc/”变成“https://invbeta.example.com/sc/”
- “https://sc-dev.ct.example.com/sc/”改成“https://invtest.example.com/sc/”
- “https://sc-qa.ct.example.com/sc/”变成“https://invdemo.example.com/sc/”
我在 TCL 中尝试过以下代码 sn-p
set loc "https://sc-uat.ct.example.com/sc/"
set envs(dev) "test"
set envs(uat) "beta"
set envs(qa) "demo"
puts $envs(uat)
regsub -nocase {://.+-(.+).ct.example.com} $loc {://inv[$envs(\1)].example.com} hostname
puts "new location = $hostname"
但结果是:新位置 = https://inv[$envs(uat)].example.com/sc/
似乎 [$envs(uat)] 被 NOT 评估并进一步替换为实际值。任何提示将不胜感激。提前致谢
【问题讨论】:
-
也许使用
string map这个?如果要转换的网站名称集不是太大...