我是bash脚本的新手 我有变量
TEST="https://myhost/mydomain/
我需要将其更改为
TEST="https:\/\/myhost\/mydomain\/
我该怎么做?
答案 0 :(得分:1)
使用变量扩展
TEST="https://myhost/mydomain/"
TEST=${TEST//\//\\/}
Bash manual parameter expansion
//
表示替换所有出现的情况/
必须转义,因为/
是模式和替换字符串之间的分隔符$ {参数/模式/字符串}
该模式被扩展以产生一个模式,就像文件名扩展一样。扩展参数,并将模式与其值的最长匹配项替换为字符串。匹配是根据下面描述的规则执行的(请参阅模式匹配)。 如果模式以“ /”开头,则模式的所有匹配项均替换为字符串。通常,仅替换第一个匹配项。如果模式以“#”开头,则它必须与参数的扩展值的开头匹配。如果格式以“%”开头,则它必须与参数扩展值的末尾匹配。如果string为null,则删除模式匹配项,并且/后面的模式可以省略。如果启用了nocasematch shell选项(请参阅《内置Shopt》中的shopt的说明),则执行匹配时将不考虑字母字符的大小写。如果参数是“ @”或“ ”,则替换操作将依次应用于每个位置参数,并且扩展名是结果列表。如果parameter是下标为'@'或''的数组变量,则将替换操作依次应用于数组的每个成员,并且扩展为结果列表。