Bash 将变量名作为参数传递

Posted

技术标签:

【中文标题】Bash 将变量名作为参数传递【英文标题】:Bash pass variable name as argument 【发布时间】:2018-05-25 21:46:38 【问题描述】:

我有一个简单的脚本(我们称之为 script.sh):

#!/bin/bash

source variables
echo $1

我想要实现的是脚本输出:

255.255.255.255

当执行如下:

./script.sh VARIABLE

其中 VARIABLE 在变量文件中定义:

VARIABLE=255.255.255.255

有可能吗?

【问题讨论】:

【参考方案1】:

示例:

#!/bin/bash

variable=255.255.255.255
param=$1
echo $!param

然后执行:

bash script.sh variable
255.255.255.255

感叹号使param 获取具有该名称的变量的值。参看参数indirection。

【讨论】:

【参考方案2】:

您必须在变量名前添加 $。例如: ./script.sh $VARIABLE

最好将参数放在双引号中,例如: ./script.sh „$VARIABLE”

手机写的,没用语法见谅。

【讨论】:

【参考方案3】:

您能否尝试关注它可能对您有所帮助。

./script.sh "$VARIABLE"

【讨论】:

以上是关于Bash 将变量名作为参数传递的主要内容,如果未能解决你的问题,请参考以下文章

数组名作函数参数时,实参与形参变量之间的数据传递是?

C语言中,数组名作为函数参数,属于啥传递,为啥?

数组名作为函数的参数属于啥传递为啥

Oracle函数:如何将表名作为参数传递,并使用游标结果作为表名?

php能把函数名作为参数传递吗

通过将列和表名作为参数传递来创建 BigQuery 存储过程