2016-11-24 76 views
0

我想檢查是否設置了多個命令行參數。例如。Bash非空/非零檢查多個字符串變量

if [-n "$1"] && [-n "$2"] && [-n "$3"]; then 
    do something 
else 
    do something else 
fi 

但我不斷收到

慶典:[-n:命令未找到

什麼是做到這一點的正確方法是什麼?

回答

2

您需要在大括號之間的空間,即

if [ -n "$1" ] && [ -n "$2" ] && [ -n "$3" ]; then 

您還可以使用extended test command ([[...]])作爲

if [[ -n "$1" && -n "$2" && -n "$3" ]]; then 
+0

哇,我也不會看上一個感謝!將接受,當它讓我 – PDStat

+0

@PaulStatham:你總是可以使用http://www.shellcheck.net/調試將來的語法問題。 – Inian

相關問題