我正在将一个bash脚本从一个Linux盒子复制到我的Mac笔记本电脑上,在这个过程中,脚本开始抱怨使用它;&.
有错误:
./build.sh:line 122:意外标记附近的语法错误`;'
./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
;;
Run Code Online (Sandbox Code Playgroud)
我已经更换了所有的用法;&与;;我想这一切都很好,但我仍然好奇,我做了什么.案例陈述中分号符号和双分号之间的区别是什么?
来自man bash:
使用;代替;; 导致执行继续与下一组模式相关联的列表.
由于;&发生在case语句中的最后一个模式上,因此该脚本应该没有区别.