Тема : Глупый вопрос - char() на bash-е


Undamned  09-09-2009 01:59
Вопрос звучит так: есть ли в bash-е какой-либо аналог функций восстановления символа по ASCII-коду? Причем без использования одинарных и двойных кавычек. Скажем, надо присвоить переменной окружения значение, равное точке или той же кавычке - естественно, не используя точки и кавычки. Подскажите, плиз, а то гугль чего-то на эту тему молчит.

Orr  09-09-2009 10:02
хз насчет функии, но есть утили uudecode(в пакете sharutils) или xxd, которые умеют преобразовывать hex коды в бинарные значения.
Например так можно извратиться:
var=$(echo 0x22|xxd -r)

конечно с кавычками проще

Undamned  09-09-2009 21:35
Orr: К сожалению, эти варианты не катят. Точнее, xxd нет, а uudecode в моем случае не подходит, т.к. есть только одна строка. Но все равно спасибо :-)

Undamned  09-09-2009 22:57
В общем проблема была решена путем нахождения в системе пути с точкой и использования команды cut -c для вырезания этой самой точки.

Orr  10-09-2009 00:08
Undamned пишет:
а uudecode в моем случае не подходит, т.к. есть только одна строка
А почему бы и нет. Вот такая кавычка получилась:
g=$((echo begin-base64 644 /dev/stdout;echo Igo=;echo ====;)|uudecode )

Теперь и кавычка будет, а то путь с кавычкой сложно будет найти =)

Undamned  10-09-2009 01:20
Orr: Хмм... Не подумал :-)) А путь с кавычкой не нужен. Имея точку можно загрузить с удаленного хоста свой файл с кавычкой, а дальше cat-ом его, cat-ом :-) Но все равно Орел! В будущем наверняка пригодится.