Linux 读取/运行文本文件中的环境变量
我有一个运行和读取文本配置文件的应用程序。 这指向多个配置/输出位置等 是否可以在文本配置文件中使用环境变量,而不是硬编码路径 LogFilePath=$LOG\u FILE\u路径 vs LogFilePath=/home/user/logs 运行时,应用程序会失败,因为它无法扩展环境变量。 在应用程序运行之前,它将在shell内部进行源代码获取 谢谢 最近我在(Linux 读取/运行文本文件中的环境变量,linux,Linux,我有一个运行和读取文本配置文件的应用程序。 这指向多个配置/输出位置等 是否可以在文本配置文件中使用环境变量,而不是硬编码路径 LogFilePath=$LOG\u FILE\u路径 vs LogFilePath=/home/user/logs 运行时,应用程序会失败,因为它无法扩展环境变量。 在应用程序运行之前,它将在shell内部进行源代码获取 谢谢 最近我在(bash)脚本中使用了这个: 其中config.file有如下行: export ORIG_PATH="${PATH:-.}:/bl
bash
)脚本中使用了这个:
其中config.file
有如下行:
export ORIG_PATH="${PATH:-.}:/bla/bla"
export SOMESETTING="${SOMEVAR:-"somedefault"},somedata"
...
所以${parameter:-word}
对我来说很好:使用默认值,如果参数为unset或null,则替换word的扩展。否则,将替换参数的值。(来自manbash
)
HTH仅当环境变量
LOG\u FILE\u PATH
在配置文件中的该行之前声明时。也可能会出现类似延迟扩张的情况。但我没有意识到这一点,这将取决于你的确切外壳,你没有说。
export ORIG_PATH="${PATH:-.}:/bla/bla"
export SOMESETTING="${SOMEVAR:-"somedefault"},somedata"
...