我用谷歌搜索,但它忽略了“%”。关于 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$