Получить код Unicode символа в zsh

Ваш сценарий — это поиск указанного файла.

Причина, по которой вы видите две пустые строки вместо ожидаемых имен путей, заключается в том, что сценарий получает $LOCAL_SHELL_CONFIG_FILEиз вашей функции «execute()», которая запускает команды в фоновом режиме (, то есть в подоболочка ).

Вложенные оболочки не могут изменять среду родительской оболочки.

2
11.11.2019, 23:08
2 ответа

Вы можете получить его черезprintfвстроенный .

With the numeric format specifiers, if the corresponding argument starts with a quote character, the numeric value of the following character is used as the number to print

Чтобы сохранить кодовую точку в числовой переменной:

printf -v code_point %d \'$s[2]

Чтобы распечатать кодовую точку в шестнадцатеричном представлении:

printf '%04x\n' \'$s[2]
2
27.01.2020, 22:02

Индексирование выполняется с помощью ${s :start :length}, а затем преобразуется в шестнадцатеричное с помощью printf с %x. Вы можете выполнить дальнейшее форматирование с помощью printf, если хотите.

printf '%x\n' "'${s:1:1}'"
2
27.01.2020, 22:02

Теги

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