LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1457|回复: 5

php 该如何执行系统管道符命令??

[复制链接]
发表于 2005-12-18 09:34:53 | 显示全部楼层 |阅读模式
system (echo adduser "$_POST[operator_id] $_POST[password]" | nc -w 1 localhost 3001);

如果加上 | 那么执行到此php,就会显示错误
Parse error: parse error, unexpected '\"', expecting ',' or ';' in /usr/local/apache/htdocs/newcs_webcontrol/operator_chklogin.php on line 7

改如何让它能够执行下去呢?
发表于 2005-12-18 12:21:25 | 显示全部楼层
为什么不看帮助,再去试试.
一个例子
system("ls|cat")
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-12-18 16:23:50 | 显示全部楼层
ok  我晚上在实验看看,不过似乎我曾经加过了没有效果,谁知道呢 自己都忘记作了多少次更改实验了.
不过多谢帮助,php方面我不是很熟悉,只是对它结合mysql如何做大体知道些罢了
回复 支持 反对

使用道具 举报

发表于 2005-12-18 20:58:10 | 显示全部楼层
晕,你的system的调用语法都不对~~

system(“echo .......“)
至少要把命令放引号里吧~~~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-12-18 21:18:05 | 显示全部楼层
echo adduser "$_POST[operator_id] $_POST[password]" | nc -w 1 localhost 3001

但是这个软件命令比如如下格式 我曾尝试过在echo和3001前后加上"" 但是还是提示|那里有问题,才四处找帮助的。还没尝试2楼方法是否可行
回复 支持 反对

使用道具 举报

发表于 2005-12-19 15:26:32 | 显示全部楼层
..............
一定要看手册~~!!!

system("echo adduser ".$_POST['operator_id'].
" ".$_POST['password']." | nc -w 1 localhost 3001");

跟管道命令一点关系都没有~~~完全是system调用的语法错误问题~~~~这里的echo不是php的echo,而是系统命令echo!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表