Jeff Tian Asked: 2021-01-20 04:04:18 +0800 CST2021-01-20 04:04:18 +0800 CST 2021-01-20 04:04:18 +0800 CST 为什么在我的命令输出中附加了一个 `%` 772 看到下面的命令输出,有一个%附加到我真正想要的: ➜ ls *.md | tr '\n' ':' README.md:% 是什么原因以及如何消除它? 提前致谢! shell terminal 1 个回答 Voted Best Answer gronostaj 2021-01-20T04:13:44+08:002021-01-20T04:13:44+08:00 我猜你正在使用zsh你的外壳?这表明程序的输出没有以换行符结尾。它是由 打印的zsh,而不是程序打印的。该程序运行良好。 假设每个程序在其输出的末尾打印一个换行符。这允许下一个程序安全地开始打印下一行 - 例如在 shell 的情况下的提示。这是一个例子bash: gronostaj:~# echo test test gronostaj:~# echo默认情况下,将在末尾添加换行符。您可以使用以下命令来抑制它,-n结果bash如下: gronostaj:~# echo -n test testgronostaj:~# 这不是很酷。关于以换行符结尾的输出的假设是不正确的,并且提示在先前输出的末尾连接。 在zsh中,第二个示例如下所示: ➜ echo -n test test% ➜ zsh打印%字符以指示检测到缺少换行符,并为您附加它以避免破坏提示。打印它的不是回声,而是外壳。
我猜你正在使用
zsh
你的外壳?这表明程序的输出没有以换行符结尾。它是由 打印的zsh
,而不是程序打印的。该程序运行良好。假设每个程序在其输出的末尾打印一个换行符。这允许下一个程序安全地开始打印下一行 - 例如在 shell 的情况下的提示。这是一个例子
bash
:echo
默认情况下,将在末尾添加换行符。您可以使用以下命令来抑制它,-n
结果bash
如下:这不是很酷。关于以换行符结尾的输出的假设是不正确的,并且提示在先前输出的末尾连接。
在
zsh
中,第二个示例如下所示:zsh
打印%
字符以指示检测到缺少换行符,并为您附加它以避免破坏提示。打印它的不是回声,而是外壳。