如何使用Bash创建INI文件,使用模板

3

我是一个新手,想要创建一个包含以下细节的.ini文件。 最终的.ini文件结果:

[dev]
JDBC_URL = jdbc:h2:mem:mem_test;MODE=Oracle
JDBC_USERNAME =
JDBC_PASSWORD =

SERVICE_ENDPOINT = http://localhost:8080/Central/api/AppService

[qa]
JDBC_URL = jdbc:oracle:thin:@qa-oracle:1521:qa
JDBC_USERNAME = qauser
JDBC_PASSWORD = qapass

SERVICE_ENDPOINT = http://qa-services/Central/api/AppService

[prod]
JDBC_URL = jdbc:oracle:thin:@prod-oracle:1521:prod
JDBC_USERNAME = scott
JDBC_PASSWORD = tiger

SERVICE_ENDPOINT = http://prod-services/Central/api/AppService

如何使用bash创建.ini文件。如果在bash中使用模板的其他方式可以实现相同的功能,您也可以提供一些示例。


这可能会有所帮助:使用bash脚本从模板创建新文件 - Cyrus
@Cyrus,我已经看过了,但它并不能解决我的问题,因为我想要创建一个多部分文件,每个部分都有共同的字段。而且,我所说的部分是开发、QA和生产。 - Srishti
@BleedCode,为什么不创建一个属性文件,例如--> JDBC_URLJDBC_USERNAMEJDBC_passURL等,然后在那里提供值,您可以轻松使用whileawk读取该文件并可以创建这些类型的文件,如果这是您要寻找的内容,请在同一位置告诉我。 - RavinderSingh13
我尝试使用模板创建属性文件,但即使使用该选项,我仍然无法创建部分。@RavinderSingh13。如果您有任何相关示例可以分享,那将是非常有帮助的。 - Srishti
@BleedCode,我在一个while脚本中尝试了一下,请检查并让我知道,虽然我不完全确定你的要求。 - RavinderSingh13
1个回答

0
假设您创建了以下属性Input_file。
cat Input_file
dev,bla-bla-bla,user_singh,singh,http://chumma.com
qa,bla-bla-bla,user_singh1,http://chumma1.com

它的值格式为环境,JDBC_URL,用户,密码,服务点。以下内容可能对您有所帮助。

while IFS=, read environment jdbc_url user pass service
do
   echo -e "[" $environment "]\nJDBC_URL = $jdbc_url\nJDBC_USERNAME = $user\nJDBC_PASSWORD = $pass\nSERVICE_ENDPOINT = $service"
done < "Input_file"

但是echo不会打印属性文件中的值。它会在控制台上打印。 - Srishti
@BleedCode,您的意思是需要创建一个输出文件还是多个输出文件? - RavinderSingh13
一个模板文件,使用它可以创建一个属性文件,其中包含我在示例中提供的内容。 - Srishti
@BleedCode,抱歉我没明白,请再说清楚一些。 - RavinderSingh13
1
@BleedCode:将"Input_file"替换为"Input_file" > "properties.ini"以将标准输出重定向到文件。 - Cyrus
1
@RavinderSingh13 在bash中,我们有一个创建属性文件模板的模板。为了更好地理解,请查看此内容:“使用bash脚本从模板创建新文件”。所以我的问题是一样的,但我需要一个具有多个部分的模板。 - Srishti

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接