作者 主題: 請教一個sed處理帶入變數中含特殊字元的問題  (閱讀 7007 次)

0 會員 與 1 訪客 正在閱讀本文。

unetin

  • 懷疑的國中生
  • **
  • 文章數: 72
    • 檢視個人資料
我有一個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'

gwstudy

  • 活潑的大學生
  • ***
  • 文章數: 205
    • 檢視個人資料
你要先確認你的 $1 是什麼。

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

unetin

  • 懷疑的國中生
  • **
  • 文章數: 72
    • 檢視個人資料
你要先確認你的 $1 是什麼。

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

$1就是user輸入的變數=192.168.1.0/24
Work了...謝謝啦~
« 上次編輯: 2010-10-22 10:03 由 unetin »