2014-03-05 75 views
0

在我的bash腳本我需要檢查,如果第一CLI定義,第二個是現有文件擊:if語句多次檢查

以下是我有:

if [!$2] && [! -f $1 ]; then 
    .... 
fi 

所以$ 2應該存在(字符串),$ 1應該是文件系統上的現有文件! 有什麼建議嗎?

+1

是的,周圍添加空格括號使它工作 - >'如果[! -f「$ 1」]' – fedorqui

+0

多數民衆贊成它,thnx! –

回答

4

如果通過建議你的意思是我需要什麼使它工作,那麼你需要做的是在括號內添加空格。此外,它是很好的引用變量:

if [ -n "$2" ] && [ ! -f "$1" ]; then 
    ... 
fi 

man test

-n STRING

字符串的長度爲非零