我正在向shell脚本中注入代理变量。由于两者之间有空间,我必须避开这条绳子。防止sed创建临时文件
sed -i -e 's#UseConcMarkSweepGC#UseConcMarkSweepGC $PROXY_ARGS#g' ${TEST_HOME}/bin/test.sh
现在,这总是产生另一个文件中第i个-e
末,所以我结束了test.sh
和test.sh-e
。两者都是一样的。目前我在做
rm test.sh-e
之后sed
这是正常工作。我想知道是否有办法不生成临时文件?我无法删除-e
,因为我收到错误sed: -i may not be used with stdin
。
你可能在Mac OS X下,对不对? – fedorqui
是的我在Mac OS X – mles
好的。然后我注意到这个行为是特定于OS X的,所以我将其作为一个重复的地方关闭,chepner会很好地解释它。 – fedorqui