1

Где находится руководство по команде прерывания в Ubuntu?

я бегу

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

Без руководства трудно понять назначение команды. Это может быть связано с -loops C-кодов ядра. Я не верю, что это перерыв для Баша.

4 ответа4

5

Для 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.

Сообщение об ошибке, которое вы видите, выдается Bash. В каком контексте вы пытаетесь понять "разрыв"?

В C break - это ключевое слово. Смотрите этот викибук для получения дополнительной информации. Отчасти это говорит:

Оператор останова немедленно выйдет из замкнутого цикла.

1

Если я правильно понял ваш вопрос, то что вы ищете:

man bash

в качестве альтернативы вы также можете выдать:

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

РЕДАКТИРОВАТЬ: Извините, я пропустил вашу заметку о том, что не быть перерывом. :- | Однако я не могу воспроизвести сообщение об ошибке, которое вы получаете. Я получаю вместо этого:

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

Какую версию Ubuntu вы используете? Какая версия bash? Моя версия 4.0.33(1)-релиз (x86_64-pc-linux-gnu)... Я спрашиваю на случай, если два разных сообщения от bash, но от разных версий ...

Что значит

which break

выход для вас? Если это отдельная программа, вы получите каталог, в котором находится исполняемый файл, и, следовательно, вероятно, сможете понять, в какую часть входит установка. Если это команда bash (или другой оболочки), она молча завершится ошибкой (без вывода).

1

Гугл пришел с этой ссылкой, предполагая, что команда break вы столкнулись, действительно не из bash ; это из zsh . Следовательно, вы должны иметь возможность получить правильное руководство, man zshbuiltins .

0

У меня также есть установка Ubuntu 9.10. если если проблема:

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

Вы видите, что этот вывод определенно исходит от bash. если вы выпустите

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

а также

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

Вы видите, что нет другого бинарника, и этот разрыв является встроенным в bash. Руководство по нарушению находится в руководстве по bash.

media@faun:~$ man bash

полученное сообщение об ошибке действительно связано с использованием встроенного прерывания в ситуации, когда оно не работает. Вы можете попробовать это так:

media@faun:~$ for i in 0 1
> do
> echo $i
> done
0
1
media@faun:~$

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .