Не мог ввести новые команды в терминал — застрявший с “>”

Независимо от того, что я делаю я застреваю с >. Как я могу ввести новую команду?

$ chmod -R 600 `/ .ssh
> 
> chmod
> id_rsa.pub
> 
> sudo chmod 600 ~/ssh/id_rsa

снимок экрана

Я пытался синхронизировать ведущее устройство и ведомое устройство следующим видео YouTube, когда я встретился, "разрешение отклонило" проблему. При попытке разрешить его я застрял с >. Теперь я не могу ввести новую команду.

Ведите меня. Я - новичок Linux/AWS.

3
задан 7 May 2019 в 00:27

1 ответ

Вы использовали более старый синтаксис подстановки команд `` AKA backticks, только с первым в начальном PS1. То есть вы вводите один обратный тик в первичном приглашении и не закрываете его другим, поэтому оболочка (bash) продолжает принимать входные данные во вторичном приглашении PS2 (по умолчанию >).

В обычных случаях достаточно использовать еще одну обратную косую черту для закрытия подстановки, но, поскольку вы использовали слишком много неоднозначных команд подряд, нажмите Ctrl + C , чтобы закрыть PS2 и снова получите основной запрос PS1.

Пока мы это делаем, для любой операции подстановки команд начните использовать более надежный $() вместо глючного и устаревшего ``.

Пример:

$ echo `whoami
> `
foobar

Кроме того, вы серьезно пытаетесь сделать chmod -R 660 /?

Пожалуйста, не делайте этого , а также не запускайте команды, которые вы полностью не понимаете или не доверяете.

7
ответ дан 1 December 2019 в 13:24

Другие вопросы по тегам:

Похожие вопросы: