这是更新的问题
脚本:
open (my $pipe, "| ptsetenv.sh $ProductType $Release");
print $pipe "genidasack.py -v --alignment=mips64 -a -s $WORKSPACE/dbgen/ose_signals_ADA.sdt -o $WORKSPACE/$Product/\n";
close ($pipe);
命令 2:
ptsetenv.sh $ProductType $Release # Sets Environment Variables and creates a Child Shell
命令 3:
genidasack.py -v --alignment=mips64 -a -s $WORKSPACE/dbgen/ose_signals_ADA.sdt -o $WORKSPACE/$Product/\n #this has to be executed on child Shell created by Command 2
目前,当我在调用第一行子 shell 后在 perl 脚本中运行脚本时,当从子 shell 中键入 exit 时,脚本仍保留在子 shell 中,执行后续脚本行,这不是需要的!
这是 ptsetenv.sh 的内容
envsetup.py $*
./export_env.sh
export_env.sh 是基本上创建子外壳的脚本
如果您需要 export_env.sh 的内容,请告诉我
这里是 export_env.sh 的内容
has_dir()
{
if [ -d $1 ]; then
return 0
else
return 1
fi
}
has_dir $DXENVROOT
if [ "$?" != "0" ]; then
echo "Directory $DXENVROOT does not exist. Exiting the script."
exit -1
fi
echo "Environment set to ${DXENVNAME} ${DXENVVERSTR}"
echo $SHELL
$SHELL
echo "Exiting ${DXENVNAME} ${DXENVVERSTR} shell"