Bash - 如何使用printf打印多行字符串(使用' \ n')

时间:2015-09-03 09:18:30

标签: linux bash shell unix

我尝试以printf这种方式打印多行字符串

printf "hi\n"
printf "next line here\n"

我无法执行以下操作

text_content="
hi
next line here
"

printf $text_content

还有其他办法吗?

3 个答案:

答案 0 :(得分:6)

引用变量应该可以解决问题。但是,在您的示例中,您将获得双重换行符。

printf "$text_content"

答案 1 :(得分:2)

如果不需要printf,则可以使用echo:

{{1}}

答案 2 :(得分:1)

这是另一种变化。

printf '%s\n' 'first line here' 'second line here'

您可以添加任意数量的参数; printf将重复格式字符串,直到用完所有参数为止。

printf '%s\n' '#!/bin/sh' \
    'for x; do' \
    '    echo "Welcome to my script!"' \
    'done' >script.sh