Linux 如何在shell脚本bash中从属性文件调用变量

Linux 如何在shell脚本bash中从属性文件调用变量,linux,bash,shell,unix,Linux,Bash,Shell,Unix,这是我的文件(xyz.properties) 现在我需要这个IP地址在我的shell脚本中 vi create.sh #!/bin/bash 如何将属性文件中的abcd.123调用到此shell脚本 vi create.sh #!/bin/bash !bin/bash source=/xyz.properties abcd.123=localhost:8180 ${abcd_123} ${“abcd_123”} ${abcd.123} 什么都不管用 这种方法不起作用,我的主要想法是在任何地

这是我的文件(xyz.properties)

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

vi create.sh
#!/bin/bash
如何将属性文件中的
abcd.123
调用到此shell脚本

vi create.sh
#!/bin/bash
!bin/bash source=/xyz.properties

abcd.123=localhost:8180
${abcd_123}

${“abcd_123”}

${abcd.123}

什么都不管用

这种方法不起作用,我的主要想法是在任何地方使用变量 顺便说一句,我不能在我的属性文件中使用abcd\U 123
由于bash脚本中有太多对该变量的依赖关系,因此需要“源”属性文件(可以使用“源”或“.”[a点]):

编辑。将您的姓名改为使用下划线,然后按如下方式访问:

${"abcd_123"}

您可以替换点并将修改的内容来源为:

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

$source
name
:仅由字母、数字和下划线组成的单词,以字母或下划线开头。名称用作shell变量和函数名。也称为标识符。事实上,请参阅我的评论-不确定shell OP使用的是什么。。。!事实上,OP在标题中提到了bash,所以我的坏消息就出现了。OP:删除圆点,然后像前面提到的那样对文件进行源处理,你用同样的方式访问变量。我按照你说的做了,但是在server.properties zookeeper.connect=172.30.0.243:2181嗨,我不明白你说的是什么,cafka_2.11-0.9.0.1/config/server.properties--是zookeeper.connect=localhost:80的存储位置现在我想在myshell.sh文件中使用该ip地址,怎么做你不想;您使用的语言对此输入具有(或可以编写)适当的解析器。