为什么php会从shell替换产生的临时文件中删除第一个字符



Shell有一个非常有用的函数叫做process substitution

$ cat <(echo '<?php echo "abc";')
<?php echo "abc";
$ echo <(echo '<?php echo "abc";')
/dev/fd/17

似乎php将从临时文件中删除第一个字符:/dev/fd/17

$ php <(echo '<?php echo "abc";')
?php echo "abc";
$ php <(echo ' <?php echo "abc";')
abc
那么,为什么php会从shell替换产生的临时文件中删除第一个字符呢?

我相信你是这个意思:

php < <(echo '<?php echo "abcn"; ?>')
abc

或者你可以使用管道:

echo '<?php echo "abcn"; ?>' | php
abc

最新更新