当我捕获 pid 文件时,我得到一个 %,为什么以及这意味着什么?

当我捕获 pid 文件时,我得到一个 %,为什么以及这意味着什么?

我用谷歌搜索,但它忽略了“%”。关于 pid 的一切。

我的系统是macOS。

这是代码:

cat /usr/local/var/run/php-fpm.pid
#I got this.
7260% 

#When I use vim open it. only have text "7260"
7260

你能告诉我为什么吗?非常感谢。

答案1

您的文件不以换行符结尾,因此 Zsh 会附加一个反相视频%和一个换行符本身(两者都表明文件不以换行符结尾,并避免弄乱以下提示或完全丢失输出) 。

Zsh 常见问题解答的问题 3.23有关如何控制此问题的更多详细信息,以及Zsh 手册

答案2

在 Unix 中,行结尾是 LF ( \n),当一行缺少该行时,下一行会在末尾附加到当前行,就好像它们是单行一样。

这就是这里发生的情况,文件中/usr/local/var/run/php-fpm.pid有一行带有 PID,并且该行不以 LF 结尾,在大多数 shell 上,yopu 会得到带有输出的下一个提示,但这里zsh聪明的并添加 a%\n指示该行缺少 LF。

例子:

foo@bar% cat /proc/self/cmdline
cat/proc/self/cmdline%                                                             
foo@bar% bash
foo@bar$ cat /proc/self/cmdline 
cat/proc/self/cmdlinefoo@bar$

相关内容