0
我想創建一個bash腳本來更改應用程序的配置文件。該腳本將讀取一個變量並將要更改的設置的值替換爲變量值。在bash腳本中用變量替換字符串
#!/bin/bash
mysqlurlenv1="jdbc:mysl://xx.xx.xx.xx:3306
mysqlurlenv2="jdbc:mysl://xx.xx.xx.xz:3306
configFile=app.conf
pattern=$1
case "$pattern" in
1)
sed -i.bak "s/^\(mysql.db.url =\).*/\1 ${mysqldburl_env1}/"
;;
2)
sed -i.bak "s/^\(mysql.db.url =\).*/\1 ${mysqldburl_env2}/"
;;
*)
echo "Wrong input...try again"
esac
我有以下項
mysql.db.driver = com.mysql.jdbc.Driver
mysql.db.url = jdbc:mysql....
mysql.db.uname = admin
一個配置文件,當我跑我得到這個錯誤 的sed腳本:-e表達式#1,焦炭40:未知的選項爲'S'
如何在配置文件中獲取那些已定義的變量?任何幫助將讚賞
RGDS 聲浪
你真不該使用的sed像這樣的擴展型變量。你所引用的變量有/參考也被sed用作分隔符,因此sed錯誤。 –
前兩個變量未終止。 – tarsis