Ejecutar lo siguiente en Terminal en MacOS Mojave
php -r 'foo();' 2>/dev/null
Produce
Fatal error: Uncaught Error: Call to undefined function foo() in Command line code on line 1
Error: Call to undefined function foo() in Command line code on line 1
Call Stack:
0.0002 390016 1. {main}() Command line code:0
Pero en Ubuntu Xenial y FreeBSD no produce ninguna salida, lo cual es de esperar, ya que estoy silenciando el error. He probado con zsh 5.7.1, bash 3.2.57 por defecto y bash 5.0.11. Me interesa saber por qué ocurre esto en MacOS.
Otra cosa interesante aquí es que cuando se redirige tanto stdout como stderr, finalmente no hay salida. Pero al no redirigir ni stdout ni stderr se produce el efecto de silencio.
Más información:
~ type php
php is /usr/local/bin/php
~ file $(type -p php)
php: cannot open `php' (No such file or directory)
is: cannot open `is' (No such file or directory)
/usr/local/bin/php: Mach-O 64-bit executable x86_64
~
0 votos
¿Cuál es el resultado de
type php
yfile $(type -p php)
?0 votos
También,
php -r 'foo();' 1>/dev/null
suprime la salida aquí (que por supuesto no es lo que quieres)0 votos
Se ha añadido esta información al mensaje original
0 votos
Sería una buena idea mencionar qué shell está utilizando. Supongo que su shell es
zsh
.0 votos
Mencioné con qué conchas probé esto