我正在向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