我正在将一个代理变量注入(inject)到 shell 脚本中。我必须对字符串进行转义,因为中间有一个空格。
sed -i -e 's#UseConcMarkSweepGC#UseConcMarkSweepGC $PROXY_ARGS#g' ${TEST_HOME}/bin/test.sh
现在这总是在末尾生成另一个带有 -e
的文件,所以我最终得到了 test.sh
和 test.sh-e
。两者是一样的。目前我在做
rm test.sh-e
就在 sed
之后,它工作正常。我想知道是否有办法完全不生成临时文件?我无法删除 -e
,因为出现错误 sed: -i may not be used with stdin
。