当我在终端(bash)中运行它时。
echo -e ."\c"
打印出 .
并抑制换行符。
当我运行以下脚本(所有代码)
echo -e ."\c"
echo -e ."\c"
它会打印出..
并抑制换行符。
当我在带有shebang(!#/bin/sh
)的脚本中运行它时,它会打印出-e . -e .
并抑制换行符。
为什么?如何防止这种情况发生?
编辑:
我想要防止-e
被打印出来,因此我的输出应该是. .
#!/bin/echo
吗?如果是这样,那么很可能是因为echo是一个内置命令,而shebang文件实际上执行的是一个二进制文件,它不解释-e选项。 - falstro#!/bin/sh
。而且,-e标签实际上是起作用的,但它仍然会将其打印出来。 - Ritwik Bose