我正在将一个bash脚本从Linux机器盒复制到我的Mac笔记本电脑上,在此过程中,脚本开始抱怨使用;&.
有错误:
./build.sh: line 122: Syntax error near unexpected token `;’
./build.sh: line 122: ` ;&’
case ${OPTION} in
xxx)
export DEVICES=xxx
;;
yyy)
export DEVICES=yyy
;;
*)
echo "${OPTION}: UnkNown device type: use xxx|yyy"
exit 1
;&
esac
;;
我已经取代了所有的用法;&与;;而且我认为一切都还可以,但我仍然很好奇我做了什么.案例陈述中分号符号和双分号之间的区别是什么?
解决方法:
来自man bash:
Using ;& in place of ;; causes execution to continue with the list
associated
with the next set of patterns.
从那以后;&在case语句的最后一个模式上发生,它应该在该脚本中没有区别.