Unixコマンドの出力の末尾に現れる「%」はどういう意味ですか?

Unixコマンドの出力の末尾に現れる「%」はどういう意味ですか?

コードを実行すると、出力の終わりの「%」が何を意味するのかわかりますか?

たとえば、

Hello,World%

次に追加:

私はMac Os X iTerm2 zshシェルを使用しています。

私のコード

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

最後に改行文字を削除するためにtrコマンドを追加しました。

私はvimを使っているので、emacsのように改行なしで出力を取得したいと思います。

ありがとうございます。

答え1

これが%標準的なヒントです。

通常、これは1行に単独で表示されます。

ただし、これは実行したばかりのプログラムのうち、LF文字で終わるプログラムによって異なります。ほとんどのコマンドはこれを自動的に実行します。

例えば

% echo hello
hello
% 

しかし、コマンドはそうではありません持つ行ってこれをやってみてください。この場合、プロンプトが行末に追加されます。

% printf "hello"  
hello% 

あなたの場合、\nコマンドを使用して出力から削除すると、プロンプトがtr同じ行に表示されます。

同じ行でコマンドを2回実行してこれを証明できます。

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

関連情報