我正在使用PHP开发一个系统,我可以在Web表单中更改IP地址和子网掩码。
以下是我目前的尝试:
<pre><code><?php
echo "Old IP: ".$old_ip;
echo "New IP: ".$stat_ip;
system("sed -i 's|".$old_ip."|".$stat_ip."|g' /etc/.../.../ifcfg-eth0");
?>
我收到错误unterminated 's' command
在这种情况下sed
的正确语法是什么?
答案 0 :(得分:0)
你这样做是怎么回事,当你看到你试图执行的命令时,可能更容易发现“错误”:
$command = "sed -i 's|".$old_ip."|".$stat_ip."|g' /etc/.../.../ifcfg-eth0";
echo "Executing command: $command";
system($command);
这样,您可以更轻松地调试命令。
错误消息表明您的命令有些格式错误。 Here's a similar problem
答案 1 :(得分:-1)
用法:sed [OPTION] ... {脚本只-IF-没有其他脚本} [输入文件] ...
-n, - quiet, - silent 抑制模式空间的自动打印-e脚本, --expression =脚本 将脚本添加到要执行的命令-f script-file, - file = script-file 将script-file的内容添加到命令中 执行--follow-symlinks 在就地处理时遵循符号链接-i [SUFFIX], --in就地[= SUFFIX] 在适当位置编辑文件(如果提供扩展名,则进行备份)
-l N, - line-length = N. 为`l'命令指定所需的换行长度
--posix 禁用所有GNU扩展。 -r, - regexp-extended 在脚本中使用扩展的正则表达式。 -s, - 分离 将文件视为单独的而不是单个文件 连续 长流。 -u, - unbuffered 从输入文件加载最少量的数据并刷新 输出缓冲更频繁 --help显示此帮助并退出 --version输出版本信息并退出如果没有-e, - expression,-f或--file 给出选项,然后是第一个 非选项参数被视为 sed脚本来解释。所有 剩下的参数是输入的名称 文件;如果没有输入文件 指定,那么标准输入是 读取。
电子邮件错误报告:bonzini@gnu.org 。请务必添加
sed'' somewhere in the
主题:''字段。