如何在bash函数中使用对关联数组的ba​​sh变量引用而不在调用该函数之前声明它?

有多种方法可以从 bash 脚本中的函数中获取结果,一种是使用引用变量,例如local -n out_ref="$1,这也是我的首选方式。

我的 bash 版本是:

GNU bash, Version 5.0.3(1)-release 
GNU bash, Version 5.0.3(1)-release 

最近,我的 bash 函数之一需要生成一个关联数组作为结果,就像在这个示例代码中一样:

我将变量声明employee为关联数组declare -A

输出是:

employee[name]: Fry
employee[company]: Planet Express

如果我删除该行declare -A employee,则输出为:

employee[name]: Planet Express
employee[company]: Planet Express

有没有办法将关联数组的声明移动到函数中,这样该函数的用户就不需要事先这样做了?

回答

declare -Ag "$1"在函数内部使用,以便您将员工声明为全局变量。


以上是如何在bash函数中使用对关联数组的ba​​sh变量引用而不在调用该函数之前声明它?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>