2016-03-29 153 views
1

我想弄清楚這是什麼意思/ $?被如何在Linux填充,我試着做了搜索,但如果有人能澄清這將是巨大的:

exitstat=$? 

if [ $exitstat -ne 0 ] 
    then 
    echo -e "Could Not Extract" 
    echo -e "Aborting Script `date`" 
    exit $exitstat 
fi 

上面的代碼是:

_xfile << %% 2> /files/thefile-7000.log | _afile -x -r 10 2> /files/thefile-7000.log > /files/thefile.7000 
OperatorHigh = $finalnumber 
%% 
+0

顯示最後一個命令的退出狀態(如果成功則返回0,否則返回127)如果失敗,則返回 –

+0

好吧,看看它上面的命令。 – Petro

+0

順便說一句,你可能不希望多個獨立的重定向寫入同一個文件,除非在附加模式下這樣做。在那裏出現意想不到的後果的空間很大。最好打開一次FD並重復使用多個地方的描述符,而不是單獨打開多次。 –

回答

4

$?展開到最近的前臺命令的退出狀態。

因爲你之前的命令是管道,退出狀態是管道中的最後一個命令 - 在這種情況下,_afile - 除非pipefail外殼選項設置,在這種情況下,故障在別處管道還可以使退出狀態爲非零。

+0

好,謝謝你清理那個 – Petro