我正在将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
;;
我已将;&
的所有用法替换为;;
而我认为一切正常,但我仍然很好奇我做了什么。 案例陈述中分号符号和双分号之间有什么区别?
答案 0 :(得分:5)
来自man bash
:
使用;&代替;;导致执行继续列表 相关 下一组模式。
由于;&
发生在case
语句的最后一个模式上,因此该脚本应该没有区别。