Manual para o comando break do Ubuntu

1

Onde está o manual do break -command do Ubuntu?

eu corro

~ master $ man break
No manual entry for break
~ master $ break
break: not in while, until, select, or repeat loop
~ master $ 

Sem manual, é difícil entender o propósito do comando. Pode estar ligado ao for-loop dos códigos-C do kernel. Eu não acredito que seja a quebra do Bash.

    
por Léo Léopold Hertz 준영 02.12.2009 / 22:12

4 respostas

5

Para Bash:

$ help break
break: break [n]
    Exit for, while, or until loops.

    Exit a FOR, WHILE or UNTIL loop.  If N is specified, break N enclosing
    loops.

    Exit Status:
    The exit status is 0 unless N is not greater than or equal to 1.

A mensagem de erro que você está vendo é emitida pelo Bash. Qual é o contexto em que você está tentando entender "quebrar"?

Em C, break é uma palavra-chave. Veja este wikibook para mais informações. Em parte, diz:

A break statement will immediately exit the enclosing loop.

    
por 02.12.2009 / 23:17
1

Se eu acertar sua pergunta, o que você quer é:

man bash

como alternativa, você também pode emitir:

man bash | grep -C5 "break [n]"

EDIT: Desculpe, eu perdi sua nota sobre não ser a ruptura do bash. : - | No entanto, não consigo reproduzir a mensagem de erro que você recebe. Eu recebo em vez disso:

bash: break: only meaningful in a 'for', 'while', or 'until' loop

Qual versão do ubuntu você usa? Qual versão do bash? O meu é a versão 4.0.33 (1) -release (x86_64-pc-linux-gnu) ... Estou perguntando se as duas mensagens diferentes são do bash, mas de versões diferentes ...

O que faz

which break

saída para você? Se for um programa autônomo, você obterá o diretório onde o executável está localizado e, portanto, provavelmente será capaz de entender de que instalação faz parte. Se for um comando bash (ot other shell) ele falhará silenciosamente (sem saída).

    
por 02.12.2009 / 22:17
1

Um googling surgiu com este link, sugerindo que o comando break que você encontrou não é de fato de bash ; é de zsh . Portanto, você deve conseguir o manual correto emitindo man zshbuiltins .

    
por 02.12.2009 / 23:18
0

Eu também tenho uma instalação do Ubuntu 9.10. se se problema:

media@faun:~$ break
-bash: break: only meaningful in a 'for', 'while', or 'until' loop
media@faun:~$

você vê que essa saída definitivamente vem do bash. se você emitir

media@faun:~$ su -
media@faun:~$ find / -name "break"

e

media@faun:~$ which break
media@faun:~$ type break

você vê que não há outro binário e que o break é bash embutido. o manual para quebrar está no manual para bash.

media@faun:~$ man bash

a mensagem de erro que você recebe é, de fato, o uso da quebra interna em uma situação em que ela não funciona. você pode tentar assim:

media@faun:~$ for i in 0 1
> do
> echo $i
> done
0
1
media@faun:~$
    
por 02.12.2009 / 23:38

Tags