С помощью perl
вывести символ в кодовой таблице локали:
perl -Mopen=locale -le 'print chr($_) for 0x13000 .. 0x130ff'
Для некоторых кодовых таблиц (не UTF-8) я видел, что perl
делает это неправильно. В качестве альтернативы вы можете сделать:
perl -e 'print pack("L>2", $_, 10) for 0x13000 .. 0x130FF' |
iconv -f UCS-4BE
чтобы системный iconv
выполнил перевод (в случае с египетскими иероглифами я не ожидаю, что многие кодовые таблицы помимо UTF-8 будут поддерживать их в любом случае). Это было бы эквивалентно тому, что zsh
/bash
для своих $'\UXXXXXX'
.
Для вывода их в UTF-8 независимо от кодовой таблицы локали:
perl -CO -le 'print chr($_) for 0x13000 .. 0x130ff'
Ваш
perl -C -le 'print chr 0x130F0'
будет работать, пока кодовая таблица локали равна UTF-8 (проверьте вывод locale charmap
).
Он выведет символ. Теперь вам также нужен шрифт с этим EGYPTIAN HIEROGLYPH E026 символом, и ваш эмулятор терминала, настроенный на использование этого шрифта, если вы хотите, чтобы он там отображался.
В Debian и производных посмотрите на пакет fonts-ancient-scripts
.
Вы не можете вернуться от ./mycommand.sh $MYOPT
к значению MYOPT
.Вот почему вы не нашли способ сделать это: это невозможно. mycommand.sh
не получает достаточно информации для восстановления исходного значения.
Например, если значение MYOPT
равно *
, то mycommand.sh
вызывается со списком имен файлов в текущем каталоге. У него нет возможности узнать, как был составлен этот список.
Если вы знаете, что значение MYOPT
соответствует определенным правилам, вы сможете восстановить его. Простая версия этих правил такова:
\[*?
или табуляции или новой строки. При этих предположениях "$*"
в mycommand.sh
даст вам значение MYOPT
. Но имейте в виду, что это не может работать в целом.
Правильным решением будет исправить вашу среду. На языке оболочки $MYOPT
не означает «взять значение MYOPT
», это означает «взять значение MYOPT
, разделить его в соответствии с значение IFS
и обрабатывать каждую результирующую часть как подстановочный шаблон, который расширяется, если он соответствует хотя бы одному файлу». Способ написать «взять значение MYOPT
» — это "$MYOPT"
, или, в более общем смысле, использовать $MYOPT
в двойных кавычках.