为什么 PHP 在我的脚本完成时打印百分号?

2022-08-30 21:57:29

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

这是为什么呢?我可以禁用此功能吗?

~ php -r "echo 'Hello World';"
Hello World%                                          
~ 

Screenshot of issue

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


答案 1

这是来自zsh。

输出不会以换行符结尾。Bash会在输出后立即启动PS1,zsh打印一个(彩色)%并插入换行符本身。您可以通过自己添加换行符来防止它

php -r 'echo "Hello World\n";'

注意:我切换了“和',在php中'\n'会按原样打印它,但”\n“表示换行符。


答案 2

将此行添加到 .zshrc :

PROMPT_EOL_MARK=''

这对我来说是工作。

有关详细说明,您可以转到此处:https://superuser.com/a/645612


推荐