【问题标题】:How concatenate strings with a newline如何用换行符连接字符串
【发布时间】:2018-09-23 23:16:12
【问题描述】:

我想将两个给定的字符串 line1 和 line2 串联起来,并在它们之间输入一个换行符。请问有什么办法吗?

我尝试了以下方法,但没有成功:

enter='\n'
lines=$line1$enter$line2

【问题讨论】:

  • 你能详细说明一下吗?
  • @karakfa 双引号无济于事。
  • 试试v=1; u=2; nl=$'\n'; echo $v$nl$u vs echo "$v$nl$u"
  • 作业中不需要双引号。

标签: bash newline


【解决方案1】:

使用$'...' 让shell 解释转义序列。

enter=$'\n'
lines=$line1$enter$line2

你也可以直接在双引号内换行:

lines="$line1
$line2"

或者使用printf:

printf -v lines '%s\n%s' "$line1" "$line2"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-30
    • 2011-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-12
    • 2015-07-21
    相关资源
    最近更新 更多