0
我有一个运行并读取文本配置文件的应用程序。 这指向配置/输出等几个位置。读取/运行环境文本文件中的变量
是否可以在文本配置文件中使用环境变量而不是硬编码路径?
LOGFILEPATH = $ LOG_FILE_PATH VS LOGFILEPATH =/home/user中/日志
运行时,应用程序失败,因为它无法展开环境变量。 它将在应用程序运行之前从外壳中获取。
谢谢!
我有一个运行并读取文本配置文件的应用程序。 这指向配置/输出等几个位置。读取/运行环境文本文件中的变量
是否可以在文本配置文件中使用环境变量而不是硬编码路径?
LOGFILEPATH = $ LOG_FILE_PATH VS LOGFILEPATH =/home/user中/日志
运行时,应用程序失败,因为它无法展开环境变量。 它将在应用程序运行之前从外壳中获取。
谢谢!
最近我在(bash
)脚本中使用这样的:
#!/bin/bash
# ...
source config.file
# ...
凡config.file
有线路是这样的:
export ORIG_PATH="${PATH:-.}:/bla/bla"
export SOMESETTING="${SOMEVAR:-"somedefault"},somedata"
...
所以${parameter:-word}
事工作很适合我:使用默认值,如果参数未设置或为空,则替换单词的扩展。否则,参数的值将被替换。(从man bash
)
HTH
只有在环境变量'LOG_FILE_PATH'在配置文件在该行之前宣布。也可能有一些延迟扩展的情况。但我没有意识到这一点,这取决于你的确切外壳,你还没有说明。 – 0xC0000022L 2011-04-19 12:36:41