Unix命令输出末尾出现的“%”是什么意思

Unix命令输出末尾出现的“%”是什么意思

我可以知道当我执行代码时输出末尾出现“%”是什么意思吗?

例如:

Hello,World%

添加:

我正在使用 Mac Os X iTerm2 zsh shell。

我的代码

echo 'Hello,World' | tr "\n" "\000"

我添加了 tr 命令来删除末尾的换行符。

我使用的是 vim,所以我想获得没有换行符的输出,就像我使用 emacs 一样。

谢谢。

答案1

%是您的标准提示。

通常这会单独出现在一行上

然而,这取决于您刚刚运行的以 LF 字符结尾的程序。大多数命令会自动执行此操作

例如

% echo hello
hello
% 

但是命令不去做这个。在这种情况下,您的提示将添加到该行的末尾:

% printf "hello"  
hello% 

在您的情况下,您\n使用命令从输出中删除了tr,因此提示出现在同一行上。

我们可以通过在同一行运行命令两次来演示这一点:

% echo 'Hello,World' | tr "\n" "\000" ; echo 'Hello,World' | tr "\n" "\000"
Hello,WorldHello,World% 

相关内容