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

関連情報