gpt4 book ai didi

linux - Concat 2变量并使用该变量使用shell脚本从属性文件中获取值

转载 作者:太空宇宙 更新时间:2023-11-04 09:22:45 26 4
gpt4 key购买 nike

我有一个具有以下属性的属性文件,

apache_ip=127.0.0.1
apache_user=root

现在在我的 shell 脚本中我做了类似下面的事情,

source $1
service=$2 #$2=apache
variable=${service}_ip
serviceIP=${variable}
echo ${serviceIP}

我想得到 127.0.0.1 的输出,但输出是 apache_ip

我尝试了不同的组合,但都没有用。如何连接两个变量并使用该变量从属性文件中获取值。

最佳答案

你在找这个吗?我假设您正在使用 bash。

service="apache"
apache_ip="127.0.0.1"
variable="${service}_ip"
ip="${!variable}"
echo "$ip"

打印 127.0.0.1。

here有关 bash shell 中 shell 参数扩展的更多信息。

If the first character of parameter is an exclamation point (!), and parameter is not a nameref, it introduces a level of variable indirection. Bash uses the value of the variable formed from the rest of parameter as the name of the variable; this variable is then expanded and that value is used in the rest of the substitution, rather than the value of parameter itself. This is known as indirect expansion. If parameter is a nameref, this expands to the name of the variable referenced by parameter instead of performing the complete indirect expansion.

关于linux - Concat 2变量并使用该变量使用shell脚本从属性文件中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40092394/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com