Не удалось напечатать скобки закрытия в Kali Linux

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

Я также использовал showkey чтобы убедиться, что он захватил нажатие клавиши, и это произошло.

 keycode 42 press keycode 52 press keycode 52 release keycode 42 release 

У меня есть ноутбук Vaio, и клавиатура встроена, а мой исходный источник – английский (США)

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

Я вижу, что вы решили свою конкретную ситуацию, но частичное решение вашего общего вопроса – это ввести

 printf "\076\n" | tee gt 

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

Вы можете использовать подобный метод, чтобы компенсировать недоступность клавиши > при вводе команд оболочки. Если вы хотите запустить команду и перенаправить ее вывод в файл, например,

 date > current_time 

просто делать

 date | tee current_time 

Если вам не нравится, когда вывод выводится на экран (в дополнение к входу в файл), определите эту функцию

 write_to() { if [ "$#" = 0 ] then echo "Usage: write_to file ..." return fi tee "$@" > /dev/null } 

в вашем ~/.bashrc или где угодно. Он позволяет вводить такие вещи, как

 date | write_to current_time ps | write_to file1 file2 

Чтобы получить эффект >> , напишите функцию append_to которая использует tee -a . И, вернувшись к моей первой команде: если по какой-то причине команда printf недоступна, вы можете сделать

 echo a | tr a "\076" | tee gt