如何在外壳程序脚本中将配置文件节名称作为参数传递

时间:2018-09-08 13:59:51

标签: shell

我想将配置文件部分的名称作为参数或参数传递给.sh文件。

有人可以帮我吗?

下面是我的shell脚本和一个conf文件。

test.sh

[user1] user = root password = root123 [user2] user = root2 password = root123 [user3] user = root3 password = root12345

app.conf

#include <string>
using namespace std::string_literals;

我希望脚本像我运行test.sh user2时一样。它应该在[user2]部分下打印变量值。

请帮助我

1 个答案:

答案 0 :(得分:0)

请看看

#!/bin/bash
    CONFIG=app.conf
    myuser=$(awk '/^\['$1'\]/{f=1} f==1&&/^user/{print $3;exit}' "${CONFIG}")
    mypassword=$(awk '/^\['$1'\]/{f=1} f==1&&/^password/{print $3;exit}' "${CONFIG}")
    echo $myuser
    echo $mypassword

将用户作为参数传递。