sh/bash/dash/ksh/zsh等Shell脚本
-
lanceu
- 帖子: 28
- 注册时间: 2009-02-17 21:13
#1
帖子
由 lanceu » 2009-05-30 22:16
我有这么一段代码,最后一句变量
$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
-
c\nc
- 帖子: 231
- 注册时间: 2007-12-25 12:51
#2
帖子
由 c\nc » 2009-05-30 22:55
eval mpdir=\$mp$which
-
lanceu
- 帖子: 28
- 注册时间: 2009-02-17 21:13
#3
帖子
由 lanceu » 2009-05-30 23:14
谢谢 c\nc 拉。成功拉。
-
eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
#4
帖子
由 eexpress » 2009-05-31 9:20
☎ tt="xx"; vv="$tt"; echo $vv
xx
or 使用数组。
● 鸣学
-
aerofox
- 帖子: 1453
- 注册时间: 2008-05-24 8:30
#5
帖子
由 aerofox » 2009-05-31 21:27
也可以:
代码: 全选
audacious ${!mpdir}
-
tusooa
- 帖子: 6548
- 注册时间: 2008-10-31 22:12
- 系统: 践兔
-
联系:
#6
帖子
由 tusooa » 2009-08-19 19:41
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}}}
-
O_O_BOT
- 帖子: 2461
- 注册时间: 2009-05-20 19:32
#7
帖子
由 O_O_BOT » 2009-08-19 20:01
tusooa 写了:${${mp${which}}}
这是不对了 怎么不尝试下才回答呢?
${!mapdir} 就可以了
或者用eval
-
cocoready
- 帖子: 15
- 注册时间: 2009-08-13 12:11
#8
帖子
由 cocoready » 2009-08-19 22:08
aerofox 写了:也可以:
代码: 全选
audacious ${!mpdir}
这个方法很简单,学习了