2011-04-09 112 views
0

我被檢查文件是否存在,但我得到的錯誤與下面的代碼shell腳本,非法號碼錯誤

filename="a.txt" 
if [ -s $filename ] ; then 
    echo "exists" 
else 
    echo "not exists" 
fi 

它給人的錯誤[:116:非法數字

可能是什麼問題?

+0

有什麼錯誤? – Rich 2011-04-09 08:57:36

+0

它給出[:116:非法編號: – thetux4 2011-04-09 08:58:14

回答

1

你必須使用-f

filename="a.txt" 
; touch $filename 
; echo $filename 
if [ -f "$filename" ] ; then 
    echo "exists" 
else 
    echo "not exists" 
fi 

-s是檢查 「FILE存在且是一個套接字」。

注:

  • 取消對touch句子,以確保該文件存在。
  • 取消註釋echo $filename一句以確保他的var內容。
  • 嘗試附上"以確保$filename內沒有空格或特殊字符。

參考文獻:

+0

-f給出相同的錯誤。 – thetux4 2011-04-09 08:59:07

+0

錯誤是什麼? – FerranB 2011-04-09 09:00:56

+0

[:116:非法號碼:是錯誤 – thetux4 2011-04-09 09:03:17