在脚本内部,我们在同一目录中执行另一个脚本,其中包含一些变量定义:
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. ]
...
有什么想法吗?
答案 0 :(得分:3)
您正在自己的进程中执行第二个脚本,因此当它退出时,任何定义的变量都将丢失。
您可以将第二个脚本“源”化为第一个脚本。这将运行它就好像文本确实在那里。你可以用
做到这一点. ./config_fechaPLS00170.sh.sh # note the first dot, then a space
或
source ./config_fechaPLS00170.sh.sh