我有一些配置文件。配置文件包含字符串:LocalPath /media/$USER
我在 bash-script 中读取了配置文件:
while read var value
do
export "$var"="$value"
done < my-conf-file.conf
Run Code Online (Sandbox Code Playgroud)
所以,我可以$LocalPath在 bash-script 中使用。它等于:/media/$USER,但我想要:/media/user1(user1 是我的用户)。
我该如何实施?
read 不会从您的配置文件中扩展变量。
您可以验证:
$ read username
$USER
$ echo $username
$USER
Run Code Online (Sandbox Code Playgroud)
Stackoverflow 上的这个答案给出了解决方案。
将您的脚本更改为此以使其扩展变量:
while read var value
do
export "$var"="$value"
done < <(envsubst < my-conf-file.conf)
Run Code Online (Sandbox Code Playgroud)