如何在CSH中取消引用变量 [英] How to dereference a variable in CSH
本文介绍了如何在CSH中取消引用变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个变量$ var,其值与另一个变量$ env相同。
$ env具有一定的价值。
I have a variable $var that has values as another variable $env . $env has some value . how can I use $var to print the value of $env.
> set xyz = 'abc' set env = 'xyz' set v = '$' set var = "$v""$env"
>
> echo $var o/p: $xyz
现在我要使用以下命令打印$ xyz的值$ var
now I want to print the value the of $ xyz using $var
推荐答案
使用 eval
,如下所示:
set xyz='abc'
set var='xyz'
eval echo \$$var
这通常称为间接引用。
以下是示例脚本:
set var = 'xyz'
set xyz = 'abc'
if ( $?var ) then
echo '$var is set to '"$var"
endif
if ( $?xyz ) then
echo '$xyz is set to '"$xyz"
endif
if ( `eval echo \$\?$var` ) then
echo '$$var is set to '`eval echo \$$var`
endif
输出:
> csh test
$var is set to xyz
$xyz is set to abc
$$var is set to abc
这篇关于如何在CSH中取消引用变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文