从配置文件中读取值并在shell脚本中使用

时间:2013-09-13 15:22:56

标签: shell config

我有一个类似的文本配置文件:

## COMMENT
KEY1=VALUE1  ## COMMENT
KEY2=VALUE2

KEY3=VALUE3  ## COMMENT

## COMMENT

如您所见,它具有键值对,但它还包含注释行和空行。在某些情况下,注释与键值对在同一行。

如何阅读此配置文件并将密钥设置为shell脚本中的变量名称,以便我可以将它们用作:

echo $KEY1 

3 个答案:

答案 0 :(得分:11)

只是:

source config.file

然后你可以在shell中使用这些变量。

答案 1 :(得分:4)

例如,以下是配置文件的内容:

email=test@test.com
user=test
password=test

有两种方法:

  1. 使用source来做到这一点。

    source $<your_file_path>
    echo $email
    
  2. 读取内容然后循环每一行进行比较以确定正确的行

    cat $<your_file_path> | while read line
    do 
      if [[$line == *"email"*]]; then
        IFS='-' read -a myarray <<< "$line"
        email=${myarray[1]}
        echo $email
      fi
    done
    
  3. 第二种解决方案的缺点是你需要使用if检查每一行。

答案 2 :(得分:3)

只需在代码的开头找到代码:

. file

source file