如果我嘗試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