首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我怎样才能改变/变成\/

我怎样才能改变/变成\/
EN

Stack Overflow用户
提问于 2019-02-06 13:00:42
回答 1查看 125关注 0票数 0

我是bash脚本中的新手,我有变量

代码语言:javascript
复制
TEST="https://myhost/mydomain/

我要把它改成

代码语言:javascript
复制
 TEST="https:\/\/myhost\/mydomain\/

我怎么能做到呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-06 13:04:29

使用变量展开

代码语言:javascript
复制
TEST="https://myhost/mydomain/"

TEST=${TEST//\//\\/}

Bash手动参数展开

  • 测试手段后的第一次//替换所有发生的
  • 必须转义下一个/,因为/是模式和替换字符串之间的分隔符。
  • 那么反斜杠必须转义,因为它是转义字符

${参数/模式/字符串} 该模式被展开以产生一个模式,就像在文件名展开中一样。参数进行扩展,并将模式与其值的最长匹配替换为string。匹配是根据下面描述的规则执行的(参见模式匹配)。如果模式以‘/’开头,则所有模式匹配都替换为字符串。通常只替换第一个匹配项。如果模式以“#”开头,则必须在参数展开值的开头匹配。如果模式以‘%’开头,则必须在参数展开值的末尾匹配。如果字符串为null,则删除模式匹配,可以省略/后续模式。如果启用nocasematch shell选项(请参阅shopt Builtin中的Shopt描述),则将执行匹配,而不考虑字母字符的情况。如果参数为“@”或“”,则替换操作依次应用于每个位置参数,并且展开是结果列表。如果参数是以“@”或“”订阅的数组变量,则替换操作依次应用于数组的每个成员,扩展是结果列表。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54554258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档