bash脚本参数引用的问题

积木 2011-08-24 08:56:09
其实我的需求很简单。。。就好象能写出来下面的脚本就好

test.sh a b c d e

脚本内容

i=2
echo $i #俺就想这个地方输出 c 而不是 3 。。。。

我用了 $$i 这肯定不对


我也用过

j='$'"$i"

echo "j"

结果给我输出了 $3

我无语了都。。。
...全文
156 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
joan8363 2011-08-25
  • 打赏
  • 举报
回复
如果i只能等于2却要输出第3个参数
可以这样
eval echo \$$((i+1))
或者
shift
eval echo \$$i
longar 2011-08-25
  • 打赏
  • 举报
回复
$$表示的是你当前使用bash的PID 所以$$i就不行了 其实可以直接加数字就行了 想要显示c 就用$3 就行了,不用太麻烦了
louyong0571 2011-08-25
  • 打赏
  • 举报
回复
楼上正解,eval把字符串变成命令
cqbamboo 2011-08-24
  • 打赏
  • 举报
回复
不知道你是不是想实现变量的变量

sandbox$ cat test.sh
#!/bin/sh
i=3
eval echo \$$i
sandbox$ ./test.sh a b c d e
c

ch_984326013 2011-08-24
  • 打赏
  • 举报
回复
我都无语了
huarc 2011-08-24
  • 打赏
  • 举报
回复
观注在shell中:变量再变成变量时的引用引用案例
cloudflashes 2011-08-24
  • 打赏
  • 举报
回复
$3就是第三个参数

如果你的test.sh中有这样的一行:
echo $3

并且你是这样调用它的:
test.sh a b c d e

那么就能看到c了
jackyjkchen 2011-08-24
  • 打赏
  • 举报
回复
我都无语了.
liutengfeigo 2011-08-24
  • 打赏
  • 举报
回复
我都无语了.

19,613

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧