printf 没有正确打印行 bash unix

printf not printing line correctly bash unix

我正在使用 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 上。

printf 没有在末尾添加 NL。您需要将 \n 添加到 printf.

的末尾

没有看到程序的其余部分,也没有看到变量值的位置,很难说还有什么问题。

您可以做的一件事是将您的输出重定向到一个文件,然后通过一个好的程序编辑器或使用禁用控制字符的 cat -v 查看该文件。

看看您是否在输出中看到 ^M。如果你这样做,可能是你的变量中有 ^R

同时从您的 printf 中删除 $v16_val(暂时),看看您的输出是否看起来更好。如果是这样,$v16_val 中可能有一个 CR (^M)。