php - 用于查找和替换的 Linux 命令行不起作用
问题描述
我在命令行中遇到此代码的问题:
sed -i 's/row['email']/_SESSION['nen']/g' /var/www/v2-stage/v2-stage/add_on/change_password.php
出于某种原因,我认为它自“电子邮件”以来就无法正常工作,但这就是代码的方式,我无法更改它。我也通过 shell_exec for php 运行它。但我直接尝试了它,它也不起作用。
有任何想法吗?
解决方案
因为你有你的命令,'
你需要使用双引号"
。sed
任何字符除了'
将是文字(这意味着\
也将是文字),因此您可以将命令重写为
sed -i "s/row\['email'\]/_SESSION['nen']/g" /var/www/v2-stage/v2-stage/add_on/change_password.php
如果您在文本编辑器中编写命令(或注意 stackoverflow 上的颜色),语法高亮将帮助您确定命令的正确性。
推荐阅读
- mysql - Mysql 连接表,但只显示特定行的结果
- c# - 注册同一个 IHostedService 的多个实例
- javascript - 循环中的变量循环与javascript
- spring - 不使用弹簧启动的测试中的 DI (@SpringBootTest)
- c# - 如何超链接主题行中的单词?
- python - 如何解决问题 - Elementclickintercepted 异常
- android - Android MP图表设置图例和轴之间的空间
- acumatica - 有没有办法锁定网格中的列位置和可见性?
- php - 插入具有特定键顺序的 PHP 关联数组
- excel - 从 Excel 粘贴到 Word 中的缩进表