酷!學園

技術討論區 => 程式討論版 => 主題作者是: unetin 於 2010-10-21 18:42

主題: 請教一個sed處理帶入變數中含特殊字元的問題
作者: unetin2010-10-21 18:42
我有一個shell script要讓user輸入一個subnet網段...然後取代掉掉原先檔案內的subnet...請問該怎麼做?

user輸入:./test 192.168.1.0/24

test的內容:
        #Refresh config file
        SUBNET=$1
        sed -e '{
        s/'\"255.255.255.0\/24\"'/'\"$SUBNET\"'/g
        }' /tmp/config

/tmp/config的內容:
subnet="255.255.255.0/24"

得到的結果是:
sed: -e expression #1, char 32: unknown option to `s'
主題: 回覆: 請教一個sed處理帶入變數中含特殊字元的問題
作者: gwstudy2010-10-21 20:39
你要先確認你的 $1 是什麼。

command 要這樣寫 sed "s#255.255.255.0/24#$SUBNET#"
主題: 回覆: 請教一個sed處理帶入變數中含特殊字元的問題
作者: unetin2010-10-22 09:59
你要先確認你的 $1 是什麼。

command 要這樣寫 sed "s#255.255.255.0/24#$SUBNET#"

$1就是user輸入的變數=192.168.1.0/24
Work了...謝謝啦~