bash スクリプト ファイル内で次の操作を行うと、次のようになります。
#!/bin/bash
echo -E $line >> 2.txt
... $line は問題なく 2.txt ファイル内に書き込まれます。ただし、次のようにファイルに変数を使用すると:
#!/bin/bash
file='2.txt'
echo -E $line >> $file
... エスケープされた \$ は解釈され、ファイルには '$' 文字だけが書き込まれます。bash スクリプト ファイルの外側 (Bash コンソール内) では、両方のコードが機能します。理由を知っている人はいますか?それに関する情報は、インターネット上では入手できませんでした。