小知识:如何在 bash shell 脚本中 echo 一个新行

%小知识:如何在 bash shell 脚本中 echo 一个新行-猿站网-插图

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$\nworld 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 命令来显示输出中的新行。我建议你也这么做,但你可以自由尝试。

原文地址:https://mp.weixin.qq.com/s/_Fjb2kxCjTh1PeFW91U3rg

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:Linux中实现只显示隐藏文件的方法

2023-3-14 6:39:48

建站知识

小知识:Linux搭建DHCP服务器的详细过程

2023-3-14 6:56:30

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索