現在のファイルで定義されている変数で外部ファイルをエコーし​​て呼び出します。

現在のファイルで定義されている変数で外部ファイルをエコーし​​て呼び出します。

私のLinuxコンピュータで - 次のことを行います。

script.sh というスクリプトを作成します。

 #!/bin/bash    
 variable=`df -hP`    
 echo < my_file.txt

次に、 my_file.txt という名前の外部ファイルを作成します。

The disk usage is: $variable

script.shを実行すると、何も印刷されません。

予想される出力は次のとおりです。

The disk usage is: Filesystem      Size  Used Avail Use% Mounted on
udev            3.2G     0  3.2G   0% /dev
tmpfs           651M  9.2M  642M   2% /run
/dev/sda1       218G  9.5G  197G   5% /
tmpfs           3.2G   62M  3.2G   2% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           3.2G     0  3.2G   0% /sys/fs/cgroup
/dev/sda4       266G  1.1G  252G   1% /home
/dev/sda2       923M  137M  723M  16% /boot
tc              308G  158G  151G  52% /media/sf_tc
tmpfs           651M   52K  651M   1% /run/user/1000

ベストアンサー1

export変数を使用し、以下を使用できますenvsubst

#!/bin/bash
export variable=$(df -hP)
envsubst '$variable' < my_file.txt

フォームを使用すると、エクスポートされたenvsubst < my_file.txtすべての変数が置き換えられます。置き換えるすべての変数を明示的に一覧表示する方が安全です。

envsubst '$var1 $var2 $var3' < file

関連:

おすすめ記事