Как отобразить региональные индикаторы состояния (флаги стран) в терминале - PullRequest
0 голосов
/ 09 октября 2018

Как вы отображаете региональные индикаторы состояния (такие как флаги стран) в терминале Linux?Это вообще возможно?

Я программирую VPN-клиент и хотел бы включить некоторые флаги для стран, в которые входит этот клиент.Например, я хотел бы отобразить флаг Японии (??).Я вставил два символа Unicode ? и ? рядом друг с другом в скрипте Bash, но после запуска скрипта в Терминале, я просто получил два символа рядом друг с другом (они не "слились"),Для примера у меня есть часть файла ниже (обратите внимание, что между символами есть пробел, поэтому они не «сливаются» в браузере, пробел отсутствует в реальном скрипте ).

#!/bin/bash
echo "Please choose a server:"
echo -e "? ? Japan (1)"     # in the real script there is no space here.
echo -e "..."
read -p "> " choice
...

И после запуска:

$ ./script.sh
Please choose a server:
? ? Japan (1)            [ with no space in between ]
...

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

РедактироватьЯ заметил, что у некоторых отвечающих были проблемы с пониманием моей проблемы, поэтому я представил скриншот того, как выглядит мой терминал, когда я запускаю этот скрипт.Regional Status Indicator example in Terminal

1 Ответ

0 голосов
/ 09 октября 2018

Не уверен, что вы скопировали правильные последовательности байтов, но вместо этого вы можете просто использовать правильные escape-коды:

$ echo -e "\U1f1ef\U1f1f5 Japan (1)"
?? Japan (1)

Может также быть проблема с вашим терминалом, понимающим последовательность Unicode и отображающим ее должным образом,а не проблема с вашим скриптом.

...