sed使用文件名而不是空值

时间:2018-10-03 11:21:10

标签: bash quoting

我有一个替换功能,例如

function replace()
{
sed -i "s#$1#$2#g" $3
}

我正在使用这些参数调用函数

replace MY_IP $MY_IP /usr/xxx.sh

其中$ MY_IP是一个空值 因此sed的出价为sed -i s#MY_IP#/usr/xxx.sh#g

未输入任何文件

它没有取空值。该如何解决?

1 个答案:

答案 0 :(得分:0)

尝试引用$ MY_IP。

replace MY_IP "$MY_IP" /usr/xxx.sh

没有引号,bash只会跳过该参数。