2014-02-25 36 views
0

我正在检查bash脚本的流程中的可选参数,但不断收到错误。这是代码我想使用:在条件中在Bash中的添加

# Do additional database import if needed 
if ($# == ($minNumOfParams + 1)) ; then 
    mysql -u $newDBUsername -p$newDBPassword $newDBName < $databaseExport2 
fi 

我得到的错误是:

/bin/bash: line 27: syntax error near unexpected token `(' 
/bin/bash: line 27: ` if (13 == (12 + 1)) ; then' 

我该如何解决这个问题?

回答

0

我想你可能要尝试以下方法:

if [[ $# -eq $minNumOfParams+1 ]]; then mysql -u $newDBUsername -p$newDBPassword $newDBName < $databaseExport2 fi

+2

很好在'[[]]'中做测试,但是你仍然不能这样做数学。可以用'[[$#-eq $((minNumOfParams + 1))]]'代替。 – BroSlow