分页: 1 / 1

变量的疑问

发表于 : 2009-05-30 22:16
lanceu
我有这么一段代码,最后一句变量$mpdir 的值总是转换成字符串“mp2” 。要怎么编写,才能转换成 $mp2 的值 (/home/lance/蔡依林-布拉格广场.mp3)呢?
太疑惑拉! 我试过用 $(mpdir) 和 ${mpdir}都不行。

代码: 全选

mp1="/home/lance/M2M-The day you went away.mp3"
mp2="/home/lance/蔡依林-布拉格广场.mp3"

#假设用户选择的是第2首歌曲
which=2
mpdir=mp$which

#播放第2首歌曲
audacious $mpdir

Re: 变量的疑问

发表于 : 2009-05-30 22:55
c\nc
eval mpdir=\$mp$which

Re: 变量的疑问

发表于 : 2009-05-30 23:14
lanceu
谢谢 c\nc 拉。成功拉。

Re: 变量的疑问

发表于 : 2009-05-31 9:20
eexpress
☎ tt="xx"; vv="$tt"; echo $vv
xx

or 使用数组。

Re: 变量的疑问

发表于 : 2009-05-31 21:27
aerofox
也可以:

代码: 全选

audacious ${!mpdir}

Re: 变量的疑问

发表于 : 2009-08-19 19:41
tusooa
lanceu 写了:我有这么一段代码,最后一句变量$mpdir 的值总是转换成字符串“mp2” 。要怎么编写,才能转换成 $mp2 的值 (/home/lance/蔡依林-布拉格广场.mp3)呢?
太疑惑拉! 我试过用 $(mpdir) 和 ${mpdir}都不行。

代码: 全选

mp1="/home/lance/M2M-The day you went away.mp3"
mp2="/home/lance/蔡依林-布拉格广场.mp3"

#假设用户选择的是第2首歌曲
which=2
mpdir=mp$which

#播放第2首歌曲
audacious $mpdir
${${mp${which}}}

Re: 变量的疑问

发表于 : 2009-08-19 20:01
O_O_BOT
tusooa 写了:${${mp${which}}}
这是不对了 怎么不尝试下才回答呢?

${!mapdir} 就可以了
或者用eval

Re: 变量的疑问

发表于 : 2009-08-19 22:08
cocoready
aerofox 写了:也可以:

代码: 全选

audacious ${!mpdir}
这个方法很简单,学习了