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'}