如何在bash中使用sed命令替换字符串中的特殊字符

如何在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

我将一个值作为参数传递给.sh文件(该文件包含以下内容)

我基本上想用
\$
替换每个
$
,用
\(
)替换每个

如果我通过
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'