Git   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在unix中获取环境variables的值大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个属性文件来设置一些环境variables说:

mydata.properties: VAR1=Data1 VAR2=Data2

现在我想定义一个名为VAR3的新variables,它可以保存VAR1或VAR2:

mydata.properties: VAR1=Data1 VAR2=Data2 VAR3=VAR2

为了使这些variables可用于我的bash会话,我正在使用这个命令

source mydata.properties

现在我的要求是打印VAR3的值,以便它可以打印源VAR2variables的内部数据,如:

如何从Linux中的数据文件删除第一列(实际上是行名称)?

Linux命令间隔运行脚本

用SED / Perl删除包含数字的string的部分

将引用的parameter passing给shell脚本并保持引用

Bash脚本:如果任何参数是“N”,那么函数有额外的选项

Value of VAR3 is Data2

我尝试了不同的选项

echo "Value of VAR3 is $$VAR3"

这给我垃圾输出

或echo "Value of VAR3 is ${$VAR3}"

这给我错误的Value of ${$VAR3}: bad substitution

请帮助我如何得到这个输出

将数据发送到等待ppoll的另一个进程的stdin

在sh中初始化数组

Libpurple不从bash工作

获取扩展名之前的文件

从与shell脚本中第二个文件的前两个字段匹配的文件删除

如果您确实需要扩展VAR3指向的变量(而不是仅将VAR3设置为VAR2的值),则可以使用${!varname}间接变量扩展:

$ VAR1=Data1 $ VAR2=Data2 $ VAR3=VAR2 $ echo "${!VAR3}" Data2

我不使用bash,但是

mydata.properties: VAR1=Data1 VAR2=Data2 VAR3=$VAR2

应该这样做。 注意最后一行var2额外$ infront。

你可能想养成这样做的习惯:

VAR3=${VAR2}

这与VAR3=$VAR2相同,但是当您使用其他文本中嵌入的变量(如VAR3=${VAR2}_foo )时,您将需要{} ,所以认情况下使用它们是个好主意。

你要

VAR2=$VAR3

然后

echo "Value of VAR3 is $VAR3"

注意这两个地方的单个$ 。 您使用$来引用变量的值,因此您需要在分配VAR2的值时使用它,并在echo命令中打印其值时

我想你想知道如何在BASH中做一个参考。 语法可能相当棘手。 它涉及使用eval和echo来设置值:

VAR2=Data2 VAR3=VAR2 #Reference! echo "The value of $VAR3 is $(eval echo $$VAR3)"

最好使用散列数组而不是直接使用引用:

REF[VAR3]=$VAR2 echo "The value of VAR3 = ${REF[VAR3]}"

或者像其他人指出的那样,你可以简单地做到这一点:

VAR3="$VAR2"

如果您只想将$VAR3设置$VAR3与$VAR2相同,并且您不关心引用。

大佬总结

以上是大佬教程为你收集整理的在unix中获取环境variables的值全部内容,希望文章能够帮你解决在unix中获取环境variables的值所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: