差异;&和;;在bash脚本中

时间:2015-04-20 21:24:44

标签: linux macos bash

我正在将bash脚本从Linux机器复制到我的Mac笔记本电脑,在此过程中,脚本开始抱怨使用;&

错误:

  

./ build.sh:line 122:意外标记附近的语法错误`;'
  ./build.sh:122行:`;&'

脚本中有一些用法,但简短的用法是:

case ${OPTION} in
    xxx)
        export DEVICES=xxx
         ;;
    yyy)
        export DEVICES=yyy
         ;;
    *)
        echo "${OPTION}: Unknown device type:  use xxx|yyy"
        exit 1
        ;&
    esac
;;

我已将;&的所有用法替换为;;而我认为一切正常,但我仍然很好奇我做了什么。 案例陈述中分号符号和双分号之间有什么区别?

1 个答案:

答案 0 :(得分:5)

来自man bash

  

使用;&代替;;导致执行继续列表   相关                 下一组模式。

由于;&发生在case语句的最后一个模式上,因此该脚本应该没有区别。