Bash 解释这个shell输出

Bash 解释这个shell输出,bash,shell,scripting,Bash,Shell,Scripting,究竟为什么输出(实际上是最后一行): ……这: num 0 ts 1479439922 foo.ops_per_sec foo.ops_per_sec 0 1479439922_sec 0 redis cli的输出以CRLF结束,但只有LF被命令替换剥离。CR在输出到终端时,将光标移动到行的开头。您没有注意到,$num是行上最后输出的内容时,$ts的空间和值写在前面的数据之上 解决此问题的最简单方法是简单地从num的值中修剪任何尾部CR: num=${num%$'\r'} 看起来您的脚本或

究竟为什么输出(实际上是最后一行):

……这:

num 0
ts 1479439922
foo.ops_per_sec
foo.ops_per_sec 0
 1479439922_sec 0

redis cli
的输出以CRLF结束,但只有LF被命令替换剥离。CR在输出到终端时,将光标移动到行的开头。您没有注意到,
$num
是行上最后输出的内容时,
$ts
的空间和值写在前面的数据之上

解决此问题的最简单方法是简单地从
num
的值中修剪任何尾部CR:

num=${num%$'\r'}

看起来您的脚本或redis cli工具使用DOS行终止符。有关更多信息,请参阅上的步骤1。
num=${num%$'\r'}