在shell脚本中使用\ c

seg*_*ult 13 linux bash shell scripting

我正在编辑别人的脚本,我看到他/她\c经常使用这个

echo "bla bla \c"
Run Code Online (Sandbox Code Playgroud)

使用时只需打印

bla bla \c
Run Code Online (Sandbox Code Playgroud)

屏幕上.

所以,我想知道为什么要使用它或者可能是我错过了什么,因为它什么都不做?我检查了逃脱角色,我也没有找到任何这样的东西.在shell脚本中是否有特殊用途的c,主要是在bash和korn shell中?

小智 26

\ c在回显结束后将光标保持在同一行,但要启用它,您需要-e标志:

echo -e "bla bla \c"
Run Code Online (Sandbox Code Playgroud)


nik*_*nik 10

我认为尝试是在没有换行的情况下终止回声.

如果它在您的系统上不起作用,您可以用这种方式替换,

echo "test \c"; echo " same line"
Run Code Online (Sandbox Code Playgroud)

可以变成,

echo -n "test"; echo " same line"
Run Code Online (Sandbox Code Playgroud)

一个更容易的改变(如其所示Neil,+那里),

echo -e "test \c"; echo " same line"
Run Code Online (Sandbox Code Playgroud)

  • 使用printf比echo -n更便携. (4认同)