我有一个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";
答案 0 :(得分:0)
尝试:
sed -i "s/\$ppass =\".*\"/\$ppass =\"$PORTPASS\"/" includes/config.php
你必须在命令周围使用双引号("
),以便shell在将它传递给sed之前评估$PORTPASS
,这样你就必须“转义”所有的双引号命令。