我有一些配置文件。配置文件包含字符串:LocalPath /media/$USER
我在 bash 脚本中读取了配置文件:
while read var value
do
export "$var"="$value"
done < my-conf-file.conf
所以,我可以$LocalPath
在 bash-script 中使用。它等于:/media/$USER
,但我想拥有:/media/user1
(user1 是我的用户)。
我该如何实施?
我有一些配置文件。配置文件包含字符串:LocalPath /media/$USER
我在 bash 脚本中读取了配置文件:
while read var value
do
export "$var"="$value"
done < my-conf-file.conf
所以,我可以$LocalPath
在 bash-script 中使用。它等于:/media/$USER
,但我想拥有:/media/user1
(user1 是我的用户)。
我该如何实施?
read
不会从您的配置文件中扩展变量。您可以验证:
Stackoverflow 上的这个答案给出了一个解决方案。
将您的脚本更改为此以使其扩展变量:
正如 Kyle Strand 在评论中建议的那样,最简单的解决方案是使配置文件成为 Bash 脚本:
然后从您的主脚本中获取它:
或者,如果您有一堆变量,并且不想
export
为每个变量都键入,请像这样制作配置文件: