1

サーバーに単純なphpスクリプトをセットアップするために使用するbashスクリプトがあります。sedスクリプトを使用して変数を正しく変更する方法に行き詰まっています。これが私が試したことです:

echo "Enter Portal Password:"
read PORTPASS;
sed -i 's/$ppass =".*"/$ppass ="$PORTPASS"/' includes/config.php

上記は構成ファイルの変数を変更しますが、変更するだけ$PORTPASSで、スクリプトに入力したものには変更されません。

私もこれを試してみましたが、$PORTPASS正しく変更" "されますが、ファイル内の変数の周りが削除されます。

sed -i 's/$ppass ='".*"'/$ppass ='"$PORTPASS"';/' includes/config.php

conf.php ファイルで変更しようとしているのは次のとおりです。$ppass ="password";

4

1 に答える 1

0

試す:

sed -i "s/\$ppass =\".*\"/\$ppass =\"$PORTPASS\"/" includes/config.php

"シェルがコマンドを sed に渡す前に評価するように、コマンドを二重引用符 ( ) で囲む$PORTPASS必要があるため、コマンド内のすべての二重引用符を「エスケープ」する必要があります。

于 2012-11-01T19:04:06.237 に答える