如果我尝试a;;b
在 sh 中运行,我会收到此错误:
sh: <number>: Syntax error: ";;" unexpected
如果我尝试,a;;;b
我会得到同样的错误,而不是;;;
,;;
所以我认为这;;
意味着什么,尽管我不知道这意味着什么。
这是一个例子:
$ echo A;;echo B
sh: 1: Syntax error: ";;" unexpected
$ echo A;;;echo B
sh: 1: Syntax error: ";;" unexpected
$ echo A; ;echo B
sh: 1: Syntax error: ";" unexpected
在这里你可以看到,当我使用; ;
而不是错误是不同的,与我之前没有使用命令的;;
事实有关。似乎是一个不同的运算符,尽管我不知道它适用于什么。;
;;
答案1
;;
在 POSIX shell 中分隔case
...esac
构造中的语句:
case foo in (a) cmd1; cmd2 ;; (b) cmd3; cmd4; esac
要了解命令,您可以运行man that-command
.如果您的寻呼机是less
,您可以通过按 在手册页中进行搜索/。
在这里,您可以运行man sh
并搜索;;
.某些 shell 支持其他运算符来分隔语句case
(例如;&
in ksh93
// zsh
/ bash
、in / 、in )。mksh
&|
zsh
mksh
;;&
bash