Застрял в терминале после эха

Я открыл терминал Linux и ввел echo I can't hear you. Я ожидал, что следующая строка напечатает «Я тебя не слышу», но вместо этого было напечатано ›. Я думаю, что это как-то связано с апострофом, но теперь я не могу вводить новые команды. Что бы я ни пытался ввести после этого, следующая строка всегда начинается с ›. Я не уверен, есть ли конкретный термин для этой ситуации или как из нее выйти. Мне не хватает технической терминологии для описания этой проблемы, и я не могу сказать, задавал ли кто-нибудь еще этот вопрос раньше.


person K Man    schedule 18.02.2021    source источник


Ответы (2)


Вам нужно выйти из терминала с помощью Ctrl + C или Ctrl + D. Это вызвано тем, что вы не закрыли открытую котировку. Вы также можете ввести закрывающую кавычку, чтобы выйти из окна >.

введите здесь описание изображения

Стрелка > означает, что терминал ждет закрытия открытой котировки.

Если вы хотите использовать кавычку в своем эхе, вы можете избежать ее с помощью обратной косой черты.

echo Trump\'s Tower

Вы можете прочитать This для получения дополнительной информации.

person Aven Desta    schedule 18.02.2021

Использование Ctrl + c или Ctrl + d выведет вас. Команда echo может обрабатывать любое количество слов с обычными буквами и цифрами (A-Z, a-z, 0-9). Вы можете избежать проблемы застревания, используя кавычки. И двойные, и одинарные кавычки будут работать, но есть различия, на которые следует обратить внимание.

# Double quotes: this works well since it uses a different quote type so the ' is okay
echo "Hello World's"

# Single quotes: this will cause the same problem because there is an unpaired quote 
echo 'Hello World's'
person DieOde    schedule 19.02.2021