如何在 bash shell 脚本中 echo 一个新行

系统 Linux
可以在 echo 命令中使用 -e 选项,这样就可以使用换行符 \n 在同一输出行中打印新行了,下面我们来详细了解一下。

echo 命令会在末尾自动添加新行,但是,如何只打印出一个空行呢?或者怎样在输出内容中包含一个新行呢?

可以在 echo 命令中使用 -e 选项,这样就可以使用换行符 \n 在同一输出行中打印新行了,如下例子:

echo -e "Name\nAddress\nPhone Number"

其输出如下:​

Name
Address
Phone Number

下面我们来详细了解一下。

使用 echo 命令的 -e 选项打印新行

如果当前行的文本已结束,我们往往会新起一行,也就是换行。在大多数类 Unix 系统中,\n 用于新起一行,它被称为换行符

默认情况下,echo 命令禁用反斜杠转义字符,因此,如果你尝试使用 \n 转义序列显示换行符,会发现这不起作用,将文本用单引号括起来作为字符串文本也不起作用。​

$ echo Hello\nworld
Hellonworld

$ echo 'Hello\nworld'
Hello\nworld

上面的例子可以看出,输出与我们期望的不一样。如果要让换行符起作用,这就需要用到 -e 选项了,该选项告诉 echo 命令我们希望启用反斜杠转义字符:

$ echo -e 'Hello\nworld'
Hello
world

这样,才是我们想要的。

下面我们介绍一些其他的方法来显示换行符。

echo 包含新行的变量

你可以将字符串存储在 bash 变量中,然后使用 -e 标志对其进行回显。看下面的例子:​

$ str="Hello\nworld"
$ echo -e $str
Hello
world

使用美元符号 $

在 bash 中,美元符号 $ 被称为扩展字符,它可以在 shell 中引用变量的值。

看下面这段代码,扩展字符的作用相当于保存一个临时的值:​

$ echo Hello$'\n'world
Hello
world

或者,也可以将整个字符串用作“临时变量”:​

$ echo $'Hello\nworld'
Hello
world

不过,我更喜欢使用 -e 标志。

使用 echo 打印包含新行的内容

当你使用 echo 命令打印一段文本的时候,echo 命令会在文本的末尾自动添加一个换行符。

这意味着您可以将多个echo命令链接在一起以生成换行。看下面的例子:​

$ echo Hello; echo world
Hello
world

使用 printf 在 bash shell 中打印换行符

printf 是一个命令行工具,它可以将文本打印在终端上,也允许用户格式化文本。

其用法也很简单,类似于 echo,但是更加方便。看下面的例子:​

$ printf 'Hello\nworld\n'
Hello
world

正如我们设想的那样,printf 没有使用任何选项,不过连带换行符也会一起输出在终端上。

就我个人而言,我更喜欢使用 echo 命令的 -e 选项,或者使用 printf 命令来显示输出中的新行。我建议你也这么做,但你可以自由尝试。

责任编辑:庞桂玉 来源: TIAP
相关推荐

2021-02-15 17:29:46

LinuxShell脚本

2021-08-30 07:50:42

脚本语言命令行

2022-05-02 18:29:35

bashshellLinux

2018-02-01 17:32:30

LinuxUNIXBash Shell

2023-10-19 14:52:27

2021-04-21 08:03:34

脚本Shell读取

2021-08-20 10:46:25

Shell脚本文件Linux

2022-11-28 08:01:47

BashLinuxshell 脚本

2021-12-30 10:26:37

Bash Shell脚本文件命令

2023-06-19 11:30:19

bashshell

2024-04-11 08:30:05

JavaScript数组函数

2016-12-07 17:45:44

Linux文件

2021-05-11 07:50:31

BashShell脚本

2022-11-23 08:14:42

bash 脚本test 命令

2016-12-16 09:23:29

LinuxShell脚本

2016-12-20 09:30:22

shell脚本linux

2020-06-17 17:29:11

BashLinux

2019-09-10 09:12:54

2023-12-14 13:02:00

BashLinuxShell

2022-12-06 08:27:50

Bash脚本字符串
点赞
收藏

51CTO技术栈公众号