3

私は現在持っています

echo -n "MySQL Database Name:  "; read MyVar; sed -i 's/database_name_here/$MyVar/g' config.php

部分的に機能し、データベース名の入力を求められます。入力するとファイルが更新されますが、入力した内容の代わりに$MyVarが表示されます。

echo -n "MySQL Database Name:  "; read MyVar; echo "$Myvar"

^問題なく動作します。

何か案は?

アップデート:

echo -n MySQL Database Name: ; read MyVar; sed -i s/database_name_here/$MyVar/g config.php
# ////
echo -n MySQL Username: ; read usr; sed -i s/username_here/$usr/g config.php
# ////
echo -n MySQL Password: ; read blackberg; sed -i s/password_here/$blackberg/g config.php

それがbashの1行だけの場合、それは機能し、値を置き換えます。しかし、私が上記を持っているとき、それは部分的に機能しますが、値を空白に置き換えます。

任意のヒント?

4

1 に答える 1

4
sed -i "s/database_name_here/$MyVar/g" config.php

シェルに変数の解釈を依頼するには、代わりに二重引用符を使用する必要があります。

于 2012-07-06T16:23:06.397 に答える