linux bash意外输出echo

时间:2017-08-09 08:26:25

标签: linux bash

我有一个带内容的文件test.xml

<?xml version="1.0" encoding="utf-8"?>
<root>
  <date>20170809</date>
  <settlement_date>20170810</settlement_date>
</root>

我运行了linux命令:

settle_date=""$(cat test.xml | grep settlement_date | sed -e 's/settlement_date//g' -e 's/[<>\/ \t\n]//g')""
echo $settle_date
echo $settle_date"LL"
echo ${settle_date}"LL"
echo "${settle_date}LL"

第一个回显返回 20170810 (预期),而最后三个回显&#39; s返回 LL170810 ,出乎意料,我不知道原因。

有人可以解释一下吗?

我的bash版本是4.3.11(1) - 发布 感谢。

1 个答案:

答案 0 :(得分:-1)

我尝试了echo的所有可行方法,但没有奏效。所以,我可以建议去printf

printf '%s\t' "$settle_date" 'LL'