我使用printf命令在文件中记录一些值,如下所示:
printf "Parameter = $parameter v9_value = $v9_val v9_line = $V9_Line_Count v16_val = $v16_val v16_line = $V16_Line_Count"
但我得到的输出如下:
v16_line = 8elayServerPort v9_value = 41 v9_line = 8 v16_val = 4571
似乎线条以旋转方式打印,最后的值来自开始。
预期产出:
Parameter = RelayServerPort v9_value = 41 v9_line = 8 v16_val = 4571 v16_line = 8
但是v16_line = 8
会覆盖Parameter = R
。
答案 0 :(得分:1)
printf
最后没有添加NL。您需要将\n
添加到printf
。
没有看到你的程序的其余部分,或者你得到变量值的地方,很难说这还有什么问题。
您可以做的一件事是将输出重定向到一个文件,并通过一个好的程序编辑器或使用cat -v
来禁用控制字符来查看该文件。
看看您的输出中是否显示^M
。如果您这样做,可能是您的变量中有^R
。
同时从您的$v16_val
(暂时)中删除printf
,看看您的输出是否更好。如果是,则$v16_val
可能包含CR(^M
)。