1

bash スクリプト ファイル内で次の操作を行うと、次のようになります。

#!/bin/bash 
echo -E $line >> 2.txt

... $line は問題なく 2.txt ファイル内に書き込まれます。ただし、次のようにファイルに変数を使用すると:

#!/bin/bash
file='2.txt'
echo -E $line >> $file

... エスケープされた \$ は解釈され、ファイルには '$' 文字だけが書き込まれます。bash スクリプト ファイルの外側 (Bash コンソール内) では、両方のコードが機能します。理由を知っている人はいますか?それに関する情報は、インターネット上では入手できませんでした。

4

0 に答える 0