为什么PHP在脚本完成后会打印百分号?

rom*_*lem 13 php macos terminal

当我echo 'Hello World';从Mac上的终端运行PHP中的简单脚本时,我看到%行尾的百分号()出现了.

为什么是这样?我可以禁用它吗?

~ php -r "echo 'Hello World';"
Hello World%                                          
~ 
Run Code Online (Sandbox Code Playgroud)

问题截图

从技术上讲,我不是用bash做的,我正在运行Oh My Zsh,如果这很重要的话.

小智 23

这是来自zsh.

您的输出不会以换行符结束.Bash会在输出后立即启动PS1,zsh打印(彩色)%并插入换行符.您可以通过自己添加换行符来阻止它

php -r 'echo "Hello World\n";'
Run Code Online (Sandbox Code Playgroud)

注意:我切换"和',在php'\n'中将按原样打印,但"\n"表示换行符.