POSIX附加换行符?

时间:2016-05-05 17:59:58

标签: posix sh

Select
    Polygon.Reduce(@reduceAmount).ToString()
FROM
    PolygonTable

foo="thank you" foo=$(echo "$foo"; echo "for your help") 的输出符合要求:

echo "$foo"

是否有更好的POSIX方法可以在两个字符串之间添加换行符?这种方法很脏。

更新:

  • 我必须在许多环境中运行,其中一个拒绝thank you for your help
  • 我可能想要附加两个变量,或者将echo -e的结果附加到var。

3 个答案:

答案 0 :(得分:1)

如何使用printf

$ foo='thank you'
$ foo="$(printf "%s\n%s" "$foo" "for your help")"
$ echo "$foo"
thank you
for your help

答案 1 :(得分:0)

foo="thank you\nfor your help"
echo -e $foo

答案 2 :(得分:0)

我认为最简单的方法是使用双引号字符串进行赋值:

foo="$string_one
$string_two"

或连接命令的输出:

foo="$a_string
$(some_command)"

这种方法不需要调用额外的命令,并且是可移植的。