在unix命令行中回显字符 - (破折号)

时间:2017-06-09 01:53:46

标签: linux echo

这是一个非常简单的问题,无论如何都与互联网无关。 如何使用echo命令打印单个短划线?我尝试用' \',' /',' - ','%'甚至'#'但它似乎拒绝打印一个简单的,单一的破折号字符。我试着用单引号,双引号或根本没有引用,但似乎这根本不可能有回声。手册页上或其他任何地方都没有,就此而言,有人可以告诉我该怎么做吗? 为了使事情变得非常明确:我想使用echo' - ' (或类似的东西)并得到一个破折号 - 作为输出

3 个答案:

答案 0 :(得分:2)

在zsh上试试这个:

[asatsi@stevevai]~% echo - -
-

答案 1 :(得分:0)

echo - 适用于我的系统。 Linux和bash。

echo - in bash

答案 2 :(得分:0)

这个问题是两年多以前问的,但我刚刚注意到bash和zsh上的echo的行为有所不同。

在Zsh上,第一个破折号用于终止选项处理;因此@asatsi回答了,您可以使用{p>打印-

% echo - -
-

在Bash上,单破折号就可以了。

$ echo -
-

摘自Z Shell手册(http://zsh.sourceforge.net/Doc/Release/Shell-Builtin-Commands.html

  

echo [-neE] [arg ...]

     

...

     

请注意,为了符合标准,双破折号不会终止选项处理;而是直接打印。但是,单个破折号会终止选项处理,因此不会打印第一个破折号(可能跟在选项之后),而是将其后的所有内容打印为参数。单破折号行为不同于其他外壳。有关打印文本的更简便方法,请参见printf,有关在zsh中打印文本的更可控方法,请参见print。