2010-09-22 45 views
1
#!/bin/sh 
tar=$1 
if [ -f $tar ] 
then 
    tar xvf $tar 
else 
    exit 1 
fi 

... <more code> 

我需要一個確實實際發生tar的構象,否則會中止腳本的執行。如何檢查shell命令是否正確執行?

tar文件提取物可能無法與$tar

待辦事項Linux工具經歷,因爲

  • 一些問題tar命令
  • 准入問題有一定的返回值?我應該如何在這裏使用它們?

回答

5

執行命令後檢查$?變量。如果一切正常,則應爲0,否則爲正。

tar xvf $tar 
[ $? -ne 0 ] && exit 1 

更多信息here

+0

'$?'或'$&'?另外,我在哪裏可以閱讀更多關於這些語法元素('$?'等)的內容? – Moeb 2010-09-22 09:07:12

+0

對不起,'$?'。謝謝你的提示。 – eumiro 2010-09-22 09:10:05

3

tar xvf "$tar" || exit 1 

或本(如果你想檢查文件是否存在自己)

[ -f "$tar" ] && tar xvf "$tar" || exit 1