1

我有一个 bash 脚本,用于在我的服务器上设置一个简单的 php 脚本。我对如何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

您必须"在命令周围使用双引号 ( ),以便 shell$PORTPASS在将其传递给 sed 之前对其进行评估,因此您必须“转义”命令中的所有双引号。

于 2012-11-01T19:04:06.237 回答