如果我调用bash中的某个函数,例如:func ${a}
以这样的方式存在,这样我就会知道我传递给函数的值的变量的名称是什么?(在这种情况下:a
(?
我知道这是没有意义的(因为我们也可以在没有变量的情况下调用这个函数,例如:func blabla
,但我的问题是,是否存在知道传递的变量的名称的方法(如果值通过变量传递(。
我的问题是,我有一个函数,在某些版本中,代码中的某些地方存在对该函数的调用(该函数没有严格的API,我无法更改它(。现在我只想用一个参数来使用这个函数(在另一个调用中,"第一个参数"可能是另一回事(,所以我想在这个函数中分析我在这种情况下是否工作(所以我想这样做,我会检查值通过哪个变量传递的函数(。
例如,在某些地方存在对该函数的以下调用:
a=`func 1 3`
b=`func`
但基本上,直到现在,func
还没有得到输入(根据这个函数的API(,但我不想触摸这些地方。但是,我只想给这个函数传递一个参数,并且函数func
将按照它工作(并且知道如何忽略上面的调用,而输入并不是真正有效的输入(
在func
中,我只想在它是有效输入的情况下使用$1,而不想在使用此函数的脏情况下使用(在这种情况下,我想忽略输入(
使用bash不传递参数名称,只传递参数值。
为了实现这一点,您应该添加第二个参数来描述所谓的";参数名称":
func {
echo "The value of '$1' is '$2'."
}
func "a", ${a}