如何在bash中使用sed命令替换字符串中的特殊字符
我将一个值作为参数传递给.sh文件(该文件包含以下内容) 我基本上想用如何在bash中使用sed命令替换字符串中的特殊字符,bash,sed,quotes,Bash,Sed,Quotes,我将一个值作为参数传递给.sh文件(该文件包含以下内容) 我基本上想用\$替换每个$,用\()替换每个() 如果我通过Ver$ify ./code.sh "Ver$ify" 我正在打印Ver\$,应该是Ver\$ify有人知道原因吗?研究单引号和双引号之间的区别,请参阅,重新阅读一篇关于shell脚本的好介绍 您没有传递Ver$ify,您传递的是Ver,结果是ify变量。请使用单引号 ./code.sh 'Ver$ify' 我基本上想用\$替换每个$,用\( 见: ./c
\$
替换每个$
,用\(
)替换每个(
)
如果我通过Ver$ify
./code.sh "Ver$ify"
我正在打印
Ver\$
,应该是Ver\$ify
有人知道原因吗?研究单引号和双引号之间的区别,请参阅,重新阅读一篇关于shell脚本的好介绍
您没有传递Ver$ify
,您传递的是Ver
,结果是ify
变量。请使用单引号
./code.sh 'Ver$ify'
我基本上想用\$
替换每个$,用\(
见:
./code.sh 'Ver$ify'
sed 's/[$(]/\\&/g'