代码之家  ›  专栏  ›  技术社区  ›  Tim Martin

为什么这个简单的bash代码会出现语法错误?

  •  4
  • Tim Martin  · 技术社区  · 15 年前

    #!/bin/bash
    
    VERBOSE=0;
    if [[ $1 =-v ]]
    then
        VERBOSE=1;
        shift;
    fi
    

    当我运行这个(bash 4.0.33)时,我得到以下语法错误:

    ./test.sh: line 4: conditional binary operator expected
    ./test.sh: line 4: syntax error near `=-v'
    ./test.sh: line 4: `if [[ $1 =-v ]]'
    

    1 回复  |  直到 15 年前
        1
  •  11
  •   anon anon    15 年前

    Bash使用空格来标记脚本。线路:

    if [[ $1 =-v ]]
    

    if [[ $1 = -v ]]
    
    推荐文章