为什么写在一行上时,shell循环中没有;
字符?do
这就是我的意思。当写在多行上时,for
循环看起来像:
$ for i in $(jot 2)
> do
> echo $i
> done
在一行上:
$ for i in $(jot 2); do echo $i; done
除了该行之外,所有折叠的行都;
在它们之后得到一个,如果你包含,这是一个错误。可能比我聪明得多的人认为这是正确的做法是有原因的,但我不知道原因是什么。对我来说似乎不一致。do
;
while
循环也一样。
$ while something
> do
> anotherthing
> done
$ while something; do anotherthing; done