我有几个脚本,它们的第一部分看起来是一样的。这部分的功能是识别脚本在哪台机器上运行,并相应地设置几个变量。它看起来像这样:
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"
...问题是,随着脚本数量的增加,维护小更改的开销变得非常耗时。
我提取了上面的部分,并将其放入一个单独的脚本中,然后所有其他脚本都会调用该脚本。但是这些变量只是过程,而不是转发给其他脚本。我也尝试过export NAME_PREFIX="tst",但它不起作用。
谁能给我一个提示,我应该用哪种方法来解决这个问题?
我在考虑让标识环境的部分将属性写入文件,然后可以将这些属性传递给其他脚本。但似乎必须有一种更直接的方法。
// Mike
发布于 2009-11-11 18:02:28
正在初始化脚本(1.sh)
a=123
b=abc
export a b应用程序脚本
#!/bin/sh
. 1.sh
echo \$a: $a
echo \$b: $bhttps://stackoverflow.com/questions/1714167
复制相似问题