2013-02-08 100 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