小编Mik*_*ike的帖子

将变量从一个shell脚本导出到另一个

我有几个脚本,其中第一部分看起来是一样的.该部分的功能是识别脚本在哪台机器上运行并相应地设置几个变量.它看起来像这样:

   ENV=`echo $LOGNAME | cut -c1-8`
if  [ $ENV = "vrt3400b" ]
then
   echo "Using TEST specific settings."
   NAME_PREFIX="tst"
   GROUP_NUMBER=`echo $USER | cut -c4-5`
   GROUP_NUMBER_SUFFIX=00`echo $USER | cut -c8-9`
   ...
elif [ $ENV = "vrp3400a" ]
then
   echo "Using PROD specific settings."
   NAME_PREFIX="prd"
   ...
Run Code Online (Sandbox Code Playgroud)

问题是随着脚本数量的增加,维护小变化的开销变得非常耗时.

我提取了上面的部分并将其放入一个单独的脚本中,然后由所有其他脚本调用.但是变量当然不会转发到其他脚本.尝试过,export NAME_PREFIX="tst"但它没有奏效.

任何人都可以给我一个提示,我应该用哪种方法来解决问题?

我正在考虑让部件识别环境,将属性写入文件,然后将其传递给其他脚本.但似乎必须有一种更直接的方法.

//迈克

shell environment scripting solaris

2
推荐指数
1
解决办法
6579
查看次数

标签 统计

environment ×1

scripting ×1

shell ×1

solaris ×1