Если я наберу, например,
grep 'needle
>
, меня отправят в таинственную подсказку >
, из которой ctrl kbd> - C kbd> (или перезапускаем терминал), похоже, единственный выход.
>
, а затем ввести что-то вроде "quit\nexit\nhelp\nCTRL-Z\nlogout\n"
, но если пользователь начинает вводить эти вещи, Ubuntu должен как минимум выдать полезное ответное сообщение (например, , «Вы пытаетесь выйти из этого приглашения? Если это так, используйте CTRL kbd> - C kbd>. Если нет, игнорируйте это сообщение.»), Что не мешало бы чему-либо странному цель служит подсказке. Это потому, что вы открыли кавычку ("
или '
), поэтому оболочка предполагает, что команда продолжается, что обозначено этим символом >
. Таким образом, до закрывающей кавычки вы получите приглашение >
для завершения запущенной команды.
Это когда вы хотите отобразить что-то с новой строкой, например:
user@host:~$ echo "this
> is a text
> with multiple
> newlines"
выводит:
this
is a text
with multiple
newlines
Чтобы прервать, вы также можете нажать Ctrl < /kbd>+c.
Подсказка - это просто стандартный ввод. «символ интерпретируется как« начало строки », поэтому он исключает закрытие». когда вы нажимаете клавишу возврата до закрытия, это интерпретируется как перевод строки. Вы можете продолжать писать то, что вы хотите. когда вы набираете '' и нажимаете ввод, он получает всю написанную вами строку
В этом нет ничего загадочного. Это приглашение (>
) подсказывает вам, что оболочка ожидает вторую кавычку '
и имя файла для завершения вашей команды. Если вы хотите найти 'needle
, используйте:
grep \'needle filename
И Control kbd> + Z kbd> используется для приостановки работы, но вы не любая работа может быть начата только после ввода grep 'needle
.
И, в-третьих, я бы сказал, что это будет звучать смешно для пользователей, которые действительно работают с терминалом. Плюс: как, по вашему мнению, терминал может обнаружить, новичок или нет? А что, если кто-то действительно хочет ввести эти строки: «выйти, выйти, помочь, выйти из системы»?
См. Также: