echo和cat-suppress新行字符

时间:2011-12-16 06:11:39

标签: shell unix echo cat

下面是示例。我可以看到,当我使用带有cat的echo时,它会抑制新行字符。这是预期的行为吗?我正在使用solaris unix。

   .262> cat temp2.txt 
    20110801
    20110802
    20110803
    20110804
    20110805
    20110808
    > echo `cat temp2.txt `
    20110801 20110802 20110803 20110804 20110805 20110808

2 个答案:

答案 0 :(得分:1)

是的,这是预期的行为。

但是" Mark Reed"建议您可以使用引号保留空白区域:

echo "$(cat temp2.txt)"

答案 1 :(得分:0)

是的,这是预期的行为。

我不知道任何没有这样做的shell。

以bash记录:

 $ man bash | awk '/Command Substitution/ { p = 1 } /Arithmetic Expansion/ { p = 0 } { if (p) print; }'

在zsh中:

$ man zshall | awk '/COMMAND SUBSTITUTION/ {p=1} /ARITHMETIC EXPANSION/ {p=0} { if (p) print }'

(编辑:我删除了命令行的输出,因为它们毫无意义,正如@sehe在评论中指出的那样)