Bash 换行符不打印

Bash 换行符不打印

我想使用 bash 脚本以乳胶表格式输出结果。但是,当我想添加换行符时,bash 要么打印它(\n),要么不添加换行符。我已经尝试过几件事(例如提到的那些https://superuser.com/questions/154936/echo-text-with-new-line-in-bash),但似乎没有任何作用。我究竟做错了什么?

echo "$(cat $outputFile)$latexString" > $outputFile
echo "\\\\" >> $outputFile
echo "" >> $outputFile

$latexString是我想要保存的表行,\\是表中该行的 EOF,之后我想要一个换行符。

编辑输出文件应如下所示:

res1 & 1 & 2 & 3 & 4 \\
res2 & 5 & 6 & 7 & 8 \\
...

'latexString' 则例如,

res1 & 1 & 2 & 3 & 4

答案1

解决办法是

echo "$latexString\\\\" >> $outputFile

答案2

printf会成功的:

printf "%s %s\n" "$latexString" "\\\\" >> $outputFile

甚至更具可读性:

printf "%s %s\n" "$latexString" '\\' >> $outputFile

相关内容