用于查找和替换的Linux命令行不起作用

时间:2018-07-19 13:40:34

标签: php linux

我在命令行中对此代码有疑问:

sed -i 's/row['email']/_SESSION['nen']/g' /var/www/v2-stage/v2-stage/add_on/change_password.php

出于某种原因,我认为自“电子邮件”以来,它不起作用 但这就是代码的方式,我无法更改。 我也通过shell_exec为php运行它。但我直接尝试过,但效果也不佳。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

由于命令中包含',因此需要对"使用双引号sed

'以外的任何char都是文字(这意味着\也是文字),因此您可以将命令重写为

sed -i "s/row\['email'\]/_SESSION['nen']/g" /var/www/v2-stage/v2-stage/add_on/change_password.php

如果您在文本编辑器中编写命令(或注意stackoverflow上的颜色),语法突出显示将帮助您确定命令的正确性。