2013-02-08 99 views
0

我有这块变量TESTS_SUCEEDED消失或其值未设置。我看到很多例子,其中变量因循环中的subshel​​l而消失,但无法找到有关此行为的任何线索。bash变量消失不在循环中

${SRCDIR}/3rdParty/bin/alxdatabasemanager 
--create-database-with-name=TestAlexandriaDB || exit 1 
Src/Tests/Functional/FunctionalTestLibalexandria 
TESTS_SUCCEEDED="$?" 

#Here variable exists 
echo ${TESTS_SUCEEDED} 

${SRCDIR}/3rdParty/bin/alxdatabasemanager 
--delete-database-with-name=TestAlexandriaDB || exit 1 

#FIXME: Variable nonexisten here or value lost??!! Why? 
exit ${TESTS_SUCCEDED} 

有人能告诉我发生了什么事吗?提前致谢。

+0

你怎么知道它消失了?在'exit $ {TESTS_SUCCEDED}'之前退出脚本的前一行可能是'exit 1'有机会使用它? – 2013-02-08 12:32:31

回答

4

您有拼写问题:TESTS_SUCCEEDEDTESTS_SUCEEDED不是一回事。

让我们line'em起来,以澄清:

TESTS_SUCCEEDED 
TESTS_SUCEEDED