2013-02-22 58 views
3

我想知道这可能是可能的:BASH - 位置参数

脚本名称:testing

#! /bin/bash 
i=2 

arg=`echo "$"$i` 

echo $arg  #value should be the value of $2 and not just '$2' string 

echo $2 

exit 0 

命令:testing a b

输出

$2 

b 

是否有办法使$ arg的值等于$ 2的值“b”除了直接将$ 2的值分配给$ arg,arg = $ 2之外,不要仅显示字符串“$ 2”

试着这样做ARG = echo ${$i}但我得到这个错误:测试:$ {$ I}:坏替代

在此先感谢

回答

-1

EVAL还帮助:

arg=`eval echo "$"$i` 
+0

不错,也谢谢 – lrac22 2013-02-22 06:41:08

+0

请解释downvotes! – 2013-11-03 16:50:33

+0

这应该工作:'eval arg =“”$“$ i”' – 2013-11-03 16:53:35