1

我正在尝试打印标准输入,但没有使用 cat、grep、awk 等后出现的尾随新行。(Mac OS X zsh)不幸的是,echo -n 不起作用,它会打印一些奇怪的字符。

你对这件事有什么想法吗?谢谢。

4

1 回答 1

2

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=''

于 2013-08-13T16:12:48.730 回答