首页 > 解决方案 > 用于查找和替换的 Linux 命令行不起作用

问题描述

我在命令行中遇到此代码的问题:

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

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

有任何想法吗?

标签: phplinux

解决方案


因为你有你的命令,'你需要使用双引号"sed

任何字符除了'将是文字(这意味着\也将是文字),因此您可以将命令重写为

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

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


推荐阅读