繁体   English   中英

将变量中的文字 * 替换为另一个值

[英]Replace literal * in variable to another value

我正在尝试用$variable替换字符串中的文字* 我尝试了这些变化:

sed "s/*/$domain/g" <<< $exlusion
sed "s/\*/$domain/g" <<< $exlusion
sed "s/\\*/$domain/g" <<< $exlusion

我什至尝试过:

$exlusion = sed "s/\\*/$domain/g" <<< $exlusion

exclusion="${exlusion//\\*/$domain}"

但是,* 永远不会被替换。 我究竟做错了什么? 当我在 SSH 中测试相同的逻辑时,它工作正常:

sed "s/\\*/foo/g" <<< *:public_html
foo:public_html

你不需要sed 使用 shell 参数展开:

exclusion='*:public_html'
domain=foo

echo "${exclusion/\*/$domain}"

应该管用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM