如何在 Linux Shell 脚本输出中插入换行符?

linuxoperating systemopen source

在 bash 中,换行符表示一行的结束和一段文本的开始。在 Linux/Unix 操作系统中,换行符用"
"表示,它指示终端将光标移动到下一行的开头。许多文本编辑器默认情况下不显示换行符。

插入换行符有几个重要的原因:

  • 它有助于格式化输出,使其更易于理解和阅读。

  • 将输出分成多个部分可以更轻松地找到特定信息。

  • 换行符也可用作脚本中的行分隔符,用于标识一行的结束或新行的开始。

  • 此外,您还可以使用它来跳转到下一行。

有时您需要插入换行符来格式化和修改输出。在本文中,我们将了解如何借助一些 Linux 命令在 Linux shell 脚本输出中插入换行符。

如何在 Linux Shell 脚本输出中插入换行符

如果您是 bash 用户并且想要在脚本中插入 '
',您可以通过各种命令来实现。

这里我们将使用 'echo' 和 'printf' 命令插入换行符。

echo 命令

echo Linux 命令通常用于插入标准输出。使用此命令,您可以打印一个字符串:

~$: echo "Tutorial
Points" Tutorial
Points
如上所示,`
` 被识别为一个字符。默认情况下,`echo` 命令会将 `
` 视为输入字符串的常规组成部分。因此,您可以添加 `-e` 选项来启用 `echo` 命令并中断换行符。无论是否使用 `-e`,默认情况下,`echo` 都会在每个句子的末尾添加 `
`。
~$: echo -e "Tutorial
Points" Tutorial Points

-e 选项并非在所有版本和系统中都有效;某些 echo 版本会将 -e 作为输出打印出来。因此,只有在省略转义符和标志的情况下,echo 才具有可移植性,但这毫无意义。为了解决这个问题,您可以使用
printf。

多个 echo 命令

这种方法使用多个 echo 命令来打印换行符,而不是只使用一个。默认情况下,echo 会打印给定的字符串并插入换行符。

~$: echo Tutorial; echo Points
Tutorial
Points

在上面的示例中,每个 echo 命令之间用分号 (;) 分隔。

使用 echo 命令时使用"$"符号

在 shell 脚本中,美元符号 ($) 被称为"扩展符"。您可以使用美元符号 ($) 在 echo 命令中插入换行符。这种方法可能看起来比较复杂。请务必在使用这种方法时牢记以下几点:

  • 每个换行符"
    "之前都必须使用"$"符号。

  • 换行符"
    "必须用单引号括起来。许多用户将其用双引号括起来,这会导致错误。

~$: echo Tutorial'
'Points Tutorial Points

在上面的命令中,你会看到,在这种情况下,扩展字符充当临时值。

printf 命令

顾名思义,printf 命令用于打印内容。你可以使用此命令代替 echo 命令。除了指定格式字符串外,此命令还允许你更详细地控制输出。

~$: printf "Tutorial
Points
" Tutorial Points

与 printf 中的 echo 命令类似,在句子中插入
不需要任何选项或标志。字符串只需写在两个引号之间即可。因此,默认情况下会应用换行符。printf 适用于所有系统,但就性能而言,它比 echo(内置 shell)命令慢。

结论

以上就是关于如何在 Linux 输出中插入换行符
的简单命令。本文主要介绍了如何使用 'echo' 和 'printf' 命令向输出添加
。除了 echo 命令之外,还有许多其他方法可以插入
。您可以使用多个 echo 命令同时插入多个新字符,而不是一次只插入一个。您也可以在 echo 命令中使用 $ 符号来实现同样的效果。

此外,我们还了解了如何使用 'printf' 命令打印字符。与 echo 命令不同,printf 命令不需要任何标志。

这两个命令都被认为是插入反斜杠转义字符的可靠方法,但它们各自的行为却不尽相同。

相关文章


有用资源