[英]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.