Reputation: 11
i'm trying to print stdin without the trailing new line that appears after using cat, grep, awk etc. (Mac OS X zsh) Unfortunately, echo -n doesn't work, it prints some weird character.
Do you have any idea on the matter ? Thanks.
Upvotes: 1
Views: 988
Reputation: 10074
From man zshoptions:
PROMPT_SP <D>
Attempt to preserve a partial line (i.e. a line that did not end
with a newline) that would otherwise be covered up by the command prompt
due to the PROMPT_CR option. This works by outputting some
cursor-control characters,
including a series of spaces, that should make the terminal wrap to the
next line when a partial line is present (note that this is only
successful if your terminal has automatic margins, which is typical).
When a partial line is preserved, by default you will see an inverse+bold
character at the end of the partial line: a "%" for a normal user or a
"#" for root. If set, the shell parameter PROMPT_EOL_MARK can be used
to customize how the end of partial lines are shown.
NOTE: if the PROMPT_CR option is not set, enabling this option will have
no effect. This option is on by default.
Add this to your .zshrc to change the behavior. And note that this is a feature by design, not a bug.
export PROMPT_EOL_MARK=''
Upvotes: 2