我能知道传递给函数的参数的名称吗

  • 本文关键字:参数 函数 linux bash shell
  • 更新时间 :
  • 英文 :


如果我调用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}

相关内容

  • 没有找到相关文章

最新更新