\n 在终端上不起作用

Pas*_*sAv 5 command-line echo

\n不被识别为“换线”。它只是打印\n.

我的终端是 gnome 终端 3.6.2。

首先我用 echo 命令注意到它,然后用 shell 脚本。

关于为什么它不起作用的任何建议?

Ser*_*nyy 10

默认情况下,echoUbuntu 提供的标准 GNU 版本不识别转义序列。使用-e标志来启用它。

比较输出:

serg@ubuntu(bash):[/home/xieerqi]$ echo "new\nline"
new\nline
serg@ubuntu(bash):[/home/xieerqi]$ echo -e "new\nline"
new
line
Run Code Online (Sandbox Code Playgroud)

一般echo不推荐在脚本中使用。例如,mksh版本echo确实允许解释转义。

为了脚本的可移植性,请使用该printf函数。

serg@ubuntu(bash):[/home/xieerqi]$ printf "new\nline\n"
new
line
Run Code Online (Sandbox Code Playgroud)

  • @user1622666:作为一般规则,大多数命令对 \n 的理解并不比对 HTML 的理解多。每个命令的手册页都会告诉您它对输入进行了哪些处理。 (2认同)