如何在没有换行符的情况下回声

当您在命令控制台中运行“echo”命令时,它总是会添加一个新行。当您想打印出环境变量和其他信息时,这很方便。它将命令中的各个信息分开并使其易于识别。

如何在没有换行符的情况下回声

但是,如果您想复制输出并在另一个控制台中使用它,额外的行可能是一个问题。此外,如果您需要使用 echo 命令,但又想构建一个 CSV 文件,那么不可见的行可以让您的所有努力都付诸东流。

本文将解释如何在不为不同平台创建新行的情况下使用“echo”命令。

如何在 Windows 命令提示符下不使用换行符回显

如果您使用的是 Windows 10,则可以访问命令提示符来输入您的命令。新行在某些方面可能会导致问题,特别是如果您想复制输出并在命令提示符之外使用它。

因此,如果您在提示符中输入“echo 1”作为命令,您将得到 1 作为输出,然后是一个新行和另一个输入行。

新队

但是如果你想在不添加新行的情况下使用相同的命令,你需要在“echo”之后输入额外的命令。

让我们一步一步来:

  1. 同时按“Windows”和“R”键打开“运行”窗口。
  2. 在打开框中键入“cmd”。

    指令

  3. 在命令提示符中键入以下命令:

    回声|设置 /p=您的文本或变量(在本例中为“1”)

  4. 按“Enter”执行此命令。
  5. 您不应该在它们之间看到新的一行。

    没有新线路

    如果要将输出复制到剪贴板,则必须使用带有“clip”命令的“echo”命令。

  6. 使用以下代码:

    回声|设置 /p=您的文本或变量|剪辑

  7. ‘clip’命令会将文本或变量复制到剪贴板。
  8. 打开任何文本工具。例如,记事本。
  9. 将剪贴板粘贴到它。
  10. 您应该在记事本中以一串文本形式看到您的输出。

    粘贴

如何在 Bash 中不使用换行符回显

Bash 是 Linux 和 Mac OS 中的命令控制台,它也识别“echo”命令。对于 Bash,echo 还会在输出中创建一个新行,但您可以使用不同的步骤来停止它。

删除新行的最佳方法是添加“-n”。这表示不要添加新行。

当您想编写更复杂的命令或在一行中对所有内容进行排序时,您应该使用“-n”选项。

例如,如果您输入代码:

对于 ${array[@]} 中的 x

回声$x

完成|种类

‘echo $x’ 命令会将变量分类到单独的行中。它可能看起来像这样:

1

2

3

4

5

因此,它不会在同一行上打印数字。

有一种方法可以在一行上显示输出;你只需要使用‘-n’命令。

它看起来像这样:

对于 ${array[@]} 中的 x

回声 -n $x

完成|种类

按回车键,您应该会在同一行看到数字。

在 Bash 中使用 Printf 命令回显

避免使用“echo”添加新行的另一种方法是将其与“printf”命令结合使用。

例如,让我们使用以下代码:

NewLine=`printf “n”`

echo -e “Line1${NewLine}Line2”

在“n”后不加空格,你会得到这样的结果:

线1线2

但是,如果像这样在“n”后添加一个空格:

NewLine=`printf “n”`

echo -e “Line1{NewLine}Line2”

你会得到以下结果:

1号线

2号线

如果您出于某种原因希望所有输入都打印在同一行上,则始终可以使用第一个示例。

PowerShell 怎么样?

Windows 的 PowerShell 不会使用 echo 命令创建换行符。但是,如果您想通过 PowerShell 将内容直接添加到文本文件中,则应在文本或变量后键入“-NoNewline”命令。

例如,这对于构建 CSV 文件非常有用。或者,如果出于某种原因您需要所有变量都保留在同一行上。

请注意,如果没有“-NoNewLine”命令,到达行尾后仍会自动移动到新行。

托尔的回声

现在您知道如何避免使用 echo 添加换行符,您可以继续编码。

如果您知道其他完成方法,请不要忘记在评论中与社区分享。提前谢谢了。