比较字符串时找不到shell脚本命令

时间:2012-02-15 14:36:44

标签: shell

我有这个脚本

#!/bin/sh        
if [ $# -ne 3 ] ; then
            echo "param 1, param2, and A or B "
            exit 1;

    elif [ $# -eq 3 ]; then
                    if [$3 = "A"] ; then
                                    echo "A"
                    elif [$3 = "B"]; then
                                    echo "B"
                    fi

fi

基本上检查参数3是A还是B,然后做回声。但它返回:

./test.sh: line 6: [A: command not found
./test.sh: line 8: [A: command not found

我尝试使用-eq进行比较,但它仍无效。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:29)

我确信之前已经出现过,但是 - [实际上是一个命令。在[之后需要一个空格才能让shell找到它。