跳到主要内容

如果变量$ var1设置为10,而$ var2设置为字符var1,那么$$ var2的值是多少?

参考答案:

在大多数编程语言或脚本中,$var1$var2 通常表示变量,而 $$var2 这种语法通常不是标准的。但在某些特定的上下文中,如bash shell脚本,$$ 是一个特殊变量,它表示当前脚本的进程ID。而 $$var2 这种写法在bash中通常是非法的或没有特定意义的。

不过,如果按照你给出的描述,假设 var1 的值是 10,而 var2 的值是字符串 var1,那么 $$var2 在bash中将会是一个无效或不确定的表达式,因为它试图将进程ID与 var2 的值连接起来,这通常不是一个有意义的操作。

如果你是想表达 $var2 的值作为另一个变量的引用,那么在bash中你可以使用间接引用(indirect reference)或参数扩展(parameter expansion)来实现。例如,你可以使用 eval 命令或 ${!var} 的语法来获取 var2 所指向的变量的值。但是,这要求 var2 包含一个有效的变量名,而不是一个包含 $ 符号的字符串。

所以,如果 var1=10var2=var1,那么你可以使用以下方式获取 var1 的值:

var1=10
var2=var1

# 使用间接引用
value=$(eval echo \$$var2)
echo $value  # 输出 10

或者

var1=10
var2=var1

# 使用参数扩展
value=${!var2}
echo $value  # 输出 10

这两种方法都可以让你通过 var2 获取 var1 的值。但是,$$var2 这种形式在bash中是没有意义的。

学习笔记
|||
说点什么吧
 
100:0
鲤跃网
http://www.sunycode.com
讲文明、要和谐
提交学习笔记
0 学习笔记
  • 还没有学习笔记,快来抢沙发吧!