如何从单独的非子 Bash 脚本访问 Bash 数组?

如何从单独的非子 Bash 脚本访问 Bash 数组?

我有一个在 Bash 脚本中创建的数组。需要花点功夫才能将我想要的信息放入其中,而且这个数组在其他脚本中非常有用。我不想在所有其他脚本中重复代码。其他脚本不会作为此脚本的子脚本启动,因此export这里不会有任何帮助。

获取此数组访问权限的唯一合理方法是获取创建它的脚本吗?还有其他方法吗?

答案1

是的,就您的情况而言,source-ing 是将该数组从脚本移到另一个不相关的 shell 会话的唯一方法。它也是从当前 shell 会话中的脚本获取参数的唯一方法,因为执行脚本将生成子 shell。

作为不即时获取资源的解决方法,您可以将数组放入 中,使其保留在每个交互式 shell 会话的环境中~/.bashrc,这显然意味着您需要source在启动时使用该脚本。总而言之,如果您想要数组,您唯一的选择就是source迟早使用 -ing。

相关内容