![在目前檔案中定義的變數並將外部檔案回顯到其中,這會呼叫該變數](https://rvso.com/image/164707/%E5%9C%A8%E7%9B%AE%E5%89%8D%E6%AA%94%E6%A1%88%E4%B8%AD%E5%AE%9A%E7%BE%A9%E7%9A%84%E8%AE%8A%E6%95%B8%E4%B8%A6%E5%B0%87%E5%A4%96%E9%83%A8%E6%AA%94%E6%A1%88%E5%9B%9E%E9%A1%AF%E5%88%B0%E5%85%B6%E4%B8%AD%EF%BC%8C%E9%80%99%E6%9C%83%E5%91%BC%E5%8F%AB%E8%A9%B2%E8%AE%8A%E6%95%B8.png)
在我的 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
有關的: