为多个 bash 脚本维护多个常量

为多个 bash 脚本维护多个常量

我有几个单独的 bash 脚本。它们做不同的事情,而且很大(每个 70-100 行)。因此我将它们保存在单独的文件中。但它们都与一个核心问题相关,因此具有几个共同的恒定价值观。

因此,为了简单起见,我有十个常量变量,一些是字符串,一些是数字,而两个是数组,所有这些变量都需要在十个不同的 bash 脚本中可用。我该如何实现这一目标?

请注意,虽然有一个中央main.sh可以调用这些单独的 bash 脚本,但情况并非总是如此。也可以直接从命令行 ( ./script1.sh) 调用它们。即使在这种情况下,变量也应该可供脚本使用。

我想到的唯一方法是在文件中编码dev/script1.temp.sh,每次需要运行任何文件时,我都会运行一个build.shbash 脚本,该脚本简单地替换(通过)整个文件中grep所有出现的特定常量 ( ) 来生成.$CONSTANTbuild/script1.sh

答案1

constants.env例如,将所有常量放入一个文件中。在所有使用这些常量的脚本中,放置. constants.env以加载它们。

例如,constants.env

HELLO=world

script.sh

#!/bin/bash
. constants.env
echo $HELLO

执行示例:

$ ./script.sh 
world

相关内容