当您在命令控制台中运行“echo”命令时,它总是会添加一个新行。当您想打印出环境变量和其他信息时,这很方便。它将命令中的各个信息分开并使其易于识别。
但是,如果您想复制输出并在另一个控制台中使用它,额外的行可能是一个问题。此外,如果您需要使用 echo 命令,但又想构建一个 CSV 文件,那么不可见的行可以让您的所有努力都付诸东流。
本文将解释如何在不为不同平台创建新行的情况下使用“echo”命令。
如何在 Windows 命令提示符下不使用换行符回显
如果您使用的是 Windows 10,则可以访问命令提示符来输入您的命令。新行在某些方面可能会导致问题,特别是如果您想复制输出并在命令提示符之外使用它。
因此,如果您在提示符中输入“echo 1”作为命令,您将得到 1 作为输出,然后是一个新行和另一个输入行。
但是如果你想在不添加新行的情况下使用相同的命令,你需要在“echo”之后输入额外的命令。
让我们一步一步来:
- 同时按“Windows”和“R”键打开“运行”窗口。
- 在打开框中键入“cmd”。
- 在命令提示符中键入以下命令:
回声|设置 /p=您的文本或变量(在本例中为“1”)
- 按“Enter”执行此命令。
- 您不应该在它们之间看到新的一行。
如果要将输出复制到剪贴板,则必须使用带有“clip”命令的“echo”命令。
- 使用以下代码:
回声|设置 /p=您的文本或变量|剪辑
- ‘clip’命令会将文本或变量复制到剪贴板。
- 打开任何文本工具。例如,记事本。
- 将剪贴板粘贴到它。
- 您应该在记事本中以一串文本形式看到您的输出。
如何在 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 添加换行符,您可以继续编码。
如果您知道其他完成方法,请不要忘记在评论中与社区分享。提前谢谢了。