微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

BASH – 位置参数

我想知道这是否可行:

scriptname:测试

#! /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

命令:测试b

产量

$2

b

有没有办法让$arg的值等于$2的值是“b”,而不只是显示字符串“$2”,而不是直接将$2的值分配给$arg,arg = $2?

尝试这样做arg = echo ${$i}但是我得到了这个错误:测试:${$i}:错误的替换

提前致谢

解决方法

是;你可以使用间接扩展,如下所示:

i=2
arg="${!i}"          # equivalent to:    arg="$2"

见第§3.5.3 “Shell Parameter Expansion” in the Bash Reference Manual段第4段.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐