寫了個shell修改配置文件,但是后面都沒有問題,有一行有問題
#!/bin/sh
url=`cat datasource.properties|grep ^monitor.url|cut -d= -f2`
echo $url
user=`cat datasource.properties|grep ^monitor.user|cut -d= -f2`
echo $user
pasd=`cat datasource.properties|grep ^monitor.pasd|cut -d: -f2`
echo $pasd
echo $1 $2 $3
sed -i "s/$url/$1/g" datasource.properties
sed -i "s/$user/$2/g" datasource.properties
sed -i "s/$pasd/$3/g" datasource.properties
報錯如下:
sed: -e expression #1, char 13: unknown option to `s'
需要替換的行為:
monitor.url=http://192.168.25.100:8443/rest
查詢資料得知,報錯是因為替換的字符串包含有分隔符/
所以這行改一下分隔符就可以解決問題了
改成感嘆號!或者| 等其他來分割
sed -i "s!$url!$1!g" datasource.properties