0
我想檢查是否設置了多個命令行參數。例如。Bash非空/非零檢查多個字符串變量
if [-n "$1"] && [-n "$2"] && [-n "$3"]; then
do something
else
do something else
fi
但我不斷收到
慶典:[-n:命令未找到
什麼是做到這一點的正確方法是什麼?
我想檢查是否設置了多個命令行參數。例如。Bash非空/非零檢查多個字符串變量
if [-n "$1"] && [-n "$2"] && [-n "$3"]; then
do something
else
do something else
fi
但我不斷收到
慶典:[-n:命令未找到
什麼是做到這一點的正確方法是什麼?
您需要在大括號之間的空間,即
if [ -n "$1" ] && [ -n "$2" ] && [ -n "$3" ]; then
您還可以使用extended test command ([[...]]
)作爲
if [[ -n "$1" && -n "$2" && -n "$3" ]]; then
哇,我也不會看上一個感謝!將接受,當它讓我 – PDStat
@PaulStatham:你總是可以使用http://www.shellcheck.net/調試將來的語法問題。 – Inian