我正在研究微控制器和lamp服务器的接口。我尝试在php中使用shell_exec运行命令echo -e -n "data \r" > /dev/ttyUSB0
,但是没有结果。从命令行看,它工作得很好。在做了一些实验后,我发现echo -e -n "1 \r"
实际上与-e -n 1
类似。它不接受-e或-n选项有什么原因吗?下面是我的代码:
<?php
shell_exec('echo -e -n "1 \r" > /dev/ttyUSB0');
?>
发布于 2012-03-16 12:28:03
不使用shell_exec和echo,为什么不使用PHP的文件系统函数呢?
file_put_contents('/dev/ttyUSB0', "1 \r");
发布于 2012-03-16 11:52:23
也有一些其他的函数,尝试这个函数也许你会得到答案。
exec(command, $output);
此函数接受一个命令,并将一个数组分配给$output,其中每个元素都是生成的输出的一行。
发布于 2017-11-04 03:44:09
这是一个古老的问题,但它说的是什么对我有效,以防其他人也遇到这个问题。
昨天晚上,我自己也在纠结这件事。要使其正常工作,您需要使用的命令首先应该直接调用echo bin,而不是只调用echo
。
此外,不要忘记使用单引号/bin/echo...
而不是双引号,以避免PHP空字节检测错误(这一部分您做得很正确)。
https://stackoverflow.com/questions/9731554
复制相似问题