我在文件的开头有以下内容
<?php
return array(
'DB' => array(
'extTablesDefinitionScript' => 'extTables.php',
'host' => '172.17.1.47',
172.17.1.47
可以是任何东西。我想将其设置的内容更改为$ip
中的内容。所以我试过了
ip="1.2.3.4"
sed -i "s/\'host\' => \'.*\',/$ip/g" /tmp/LocalConfiguration.php
sed -i "s/\(\'host\' => \'\).*/\1$ip\'/g" /tmp/LocalConfiguration.php
但是并没有改变任何事情。
问题
任何人都可以看到有什么问题吗?或者知道更好的方法吗?
答案 0 :(得分:1)
引用似乎搞砸了。您可以使用:
ip="1.2.3.4"
sed -i.bak -r "s/('host' => ')[^']*'/\1$ip'/" file.php
cat file.php
<?php
return array(
'DB' => array(
'extTablesDefinitionScript' => 'extTables.php',
'host' => '1.2.3.4',