将变量名作为参数传递给Bash

18

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

#!/bin/bash

source variables
echo $1

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

255.255.255.255

执行如下:

./script.sh VARIABLE

VARIABLE在变量文件中定义:

VARIABLE=255.255.255.255

有可能吗?

3个回答

23

例子:

#!/bin/bash

variable=255.255.255.255
param=$1
echo ${!param}

然后执行:

bash script.sh variable
255.255.255.255

感叹号使param获得该名称变量的值。有关参数间接引用的信息,请参见。


1
我们可以使用 echo ${!$1} 吗?不行。 - jon_eldiablo
@jon_eldiablo: echo ${!1} 应该可以。 - saulius2

4

您可以尝试以下方法,可能会对您有所帮助。

./script.sh "$VARIABLE"

0

在变量名前面必须加上$符号。例如: ./script.sh $VARIABLE

最好将参数用双引号括起来,如下所示: ./script.sh „$VARIABLE”

由于使用手机编写,抱歉没有使用语法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接