[英]Use of \c in shell scripting
我正在编辑其他人的脚本,因此他/他经常使用\\c
echo "bla bla \c"
使用时仅打印
bla bla \c
屏幕上。
因此,我想知道为什么要使用它,或者可能是我遗漏了某些东西,因为它什么都不做? 我检查了转义字符,也没有找到任何类似的东西。 在shell脚本中,主要是在bash和korn shell中,\\ c有什么特殊用途吗?
\\ c在回显结束后将光标保持在同一行上,但是要启用它,您需要-e标志:
echo -e "bla bla \c"
我认为尝试是在没有换行的情况下终止回声。
如果它在您的系统上不起作用,则可以用这种方式替换,
echo "test \c"; echo " same line"
可以变成,
echo -n "test"; echo " same line"
(如Neil
所建议,+ 1),
echo -e "test \c"; echo " same line"
POSIX指出:
\\ c抑制<newline>,否则在输出中的最后一个参数之后。 参数中“ \\ c”之后的所有字符都将被忽略。
基本上,符合POSIX XSI的echo
实用程序在找到\\ c时应退出,如以下命令所示:
echo -e "foo bar \c baz" "quux"
没有自动换行符, 显然 :
在UNIX Shell中使用
UNIX Korn外壳程序使用\\ c转义字符表示继续(不自动换行):
echo“输入数据文件的路径:\\ c”
实际上,“ echo”的行为取决于所使用的外壳。
使用简单的Bourne shell,默认情况下将解释'\\ c'(因此光标将保留在行上)。
使用Bash时,默认情况下不会对其进行解释(因此将显示字符串'\\ c'),因此必须添加'-e'选项才能启用它。
NAME回声-显示一行文本
提要echo回显[SHORT-OPTION] ... [STRING] ... echo回显LONG-OPTION
描述将STRING(s)回显到标准输出。
-n do not output the trailing newline
-e enable interpretation of backslash escapes
-E disable interpretation of backslash escapes (default)
--help display this help and exit
--version
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.