执行包含变量的脚本

时间:2015-04-08 12:24:33

标签: bash shell unix

在脚本内部,我们在同一目录中执行另一个脚本,其中包含一些变量定义:

SCRIPT1:

cd $configDir
script=PLS00170.sh
./config_fecha$script.sh

if [ ! -f /f_PL_50007622_Hist_Rel_Sico_Vta_Cp.$F1S4_FEOPERACA1 ]

config_fechaPLS00170.sh.sh:

#! /bin/ksh
#------------------------------------
#FEOPERAC
#------------------------------------
F1S4_FEOPERACA1=20150401
....

脚本1无法解析脚本$F1S4_FEOPERACA1

SYSOUT:

...
+ ./config_fechaPLS00170.sh.sh
+ [ ! -f /f_PL_50007622_Hist_Rel_Sico_Vta_Cp. ]
...

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

您正在自己的进程中执行第二个脚本,因此当它退出时,任何定义的变量都将丢失。

您可以将第二个脚本“源”化为第一个脚本。这将运行它就好像文本确实在那里。你可以用

做到这一点
. ./config_fechaPLS00170.sh.sh    # note the first dot, then a space

source ./config_fechaPLS00170.sh.sh