【问题标题】:How to call variable from properties file in shell scripting bash [duplicate]如何在shell脚本bash中从属性文件中调用变量[重复]
【发布时间】:2016-06-27 04:19:42
【问题描述】:

这是我的文件 (xyz.properties)

abcd.123=localhost:8180

现在我的 shell 脚本中需要这个 IP 地址

vi create.sh
#!/bin/bash

如何从属性文件调用abcd.123 到这个shell 脚本

!bin/bash

来源 = /xyz.properties

${abcd_123}

${"abcd_123"}

${abcd.123}

没有用

这种方式行不通,我的主要想法是在任何地方都使用该变量 顺便说一句,我不能在我的属性文件中使用 abcd_123 因为该变量有很多依赖项

【问题讨论】:

  • 你没有;您使用的语言具有(或您可以编写)适合此输入的解析器。

标签: linux bash shell unix


【解决方案1】:

在您的 bash 脚本中,您需要“来源”您的属性文件(您可以使用“来源”或“.”[点]):

#!/bin/bash
source yourfile.properties

已编辑。将您的名称改为使用下划线,然后像这样访问它们:

${"abcd_123"}

【讨论】:

  • name:仅由字母、数字和下划线组成并以字母或下划线开头的单词。名称用作 shell 变量和函数名称。也称为标识符。
  • 确实,看看我的 cmets - 不确定 shell OP 使用的是什么...!
  • 事实上,OP 在标题中提到了 bash,所以我不好。 OP:删除点,并如上所述获取文件,您以相同的方式访问变量。
  • 我按照你说的做了,但是没有用
  • 在 server.properties zookeeper.connect=172.30.0.243:2181
【解决方案2】:

您可以替换点并获取修改后的内容:

$ source <(sed 's@\(.*\)\.\(.*\)=@\1_\2=@' xyz.properties)
$ echo $abcd_123
localhost:8180

【讨论】:

  • 你好,我没听懂你说什么
  • kafka_2.11-0.9.0.1/config/server.properties ---是zookeeper.connect=localhost:80的存放位置
  • 现在我想在 myshell.sh 文件中使用那个 ip 地址怎么做
猜你喜欢
  • 2019-09-19
  • 1970-01-01
  • 2015-05-27
  • 2019-10-31
  • 2021-08-22
  • 2014-03-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多