echo —— 打印字符串

echo命令可用于打印字符串。标准用法是echo firstString secondString ...。另外,它提供了用于格式化输出的其他参数。

echo的滥用

如果你发现自己要在 ebuild 中使用echo,请停止并重新考虑。因为这几乎没有必要的。

首先,在标准 portage 脚本打印消息,你可以使用einfoeerror函数及其相应的函数,还有einfoneerrorn等等,这是与前者相同,但它们将不打印尾随换行符(\n)。

所有echo ${somevar} | grep形式的用法只是为了检查${somevar}变量内容是否包含substring,或更常见的是,echo ${somevar} | command应尽可能少地使用(在大多数情况下可以使用):这样做毫无理由地涉及到额外的 shell 会话和管道。 “here 字符串”部分描述了处理此类情况的首选方法。

here 字符串

从>=bash-2.05b 开始,引入了所谓的“here 字符串”。 使用“here 字符串”,您可以使用<<<word重定向将环境变量的内容传递到应用程序的标准输入:实际发生的是bash扩展单词并将结果传递给标准输入。

一个常见的示例是验证变量${foo}是否包含具有以下构造的bar子字符串:grep bar <<< ${foo}。这取代了使用时已过时且更浪费的行为echo ${foo} | grep bar

echo的标准用法

在标准调用中,没有其他选项的echo命令将输出传递到标准输出的参数,并用空格分隔,并使用尾随换行符(\n)。

如果要排除尾随换行符,可以使用-n,例如:echo -n "no trailing newline"

特殊字符,例如制表符(\t),换行符(\n),回车符(\r)(即用于将换行符从 DOS 格式转换为 Unix 格式)以及由其代码值指定的任何其他 ASCII 字符,可以通过-e选项传递给 echo。例如,要在一个echo命令中输出三个字符串,每个字符串在不同的行,请使用:echo -e "first line\nsecond line\nthird line"

了解echo命令的其他转义序列和其他参数请参见其手册。

results matching ""

    No results matching ""