我有以下兩個命令shell腳本:我該如何修復sed無效的命令代碼?
sedcmd1="sed -i '' '/<PromptOnUpdate>true<\/PromptOnUpdate>/G' /Users/abc/data.xml"
$sedcmd1
當我運行該腳本,我得到以下錯誤:
sed: 1: "'/<PromptOnUpdate ...": invalid command code '
如果我不把它分配給變量運行的命令,它運行正好。但只有當我將它分配給一個變量並從那裏執行時纔會出錯。
我需要變量中的命令來滿足我的需要,因爲我嘗試接收命令作爲shell腳本的參數。
片段data.xml中的:
<?xml version="1.0" ?>
<Settings Version="1.0.0">
<Android>
<PromptOnUpdate>true</PromptOnUpdate>
</Android>
</Settings>
感謝您看這個!
PS:我在Mac OSX小牛隊
或者更好的是,[不這樣做(http://mywiki.wooledge.org/BashFAQ/050)。 – tripleee 2014-08-28 04:33:31
工程就像一個魅力。非常感謝! – user1819441 2014-08-28 16:20:47
請注意,@ John1024答案中的數組技術通常被認爲是更好的解決方案。如果你在命令中嵌套了引號,他們很難處理使用'eval'。 – Barmar 2014-08-28 17:56:54