URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 66192
[ Назад ]

Исходное сообщение
"символ NUL в переменных bash"

Отправлено Gleb , 10-Май-06 10:18 
Hi, All!

Есть строка "abcdefgh"
Нужно сделать ее вида "a b c d e f g h ", где пробел означает символ "0"
(hex: 61 00 62 00 63 00 64 00 65 00 66 00 67 00 68 00)
и засунуть в переменную bash-скрипта

код:
#!/bin/bash
var=`echo "abcdefgh" |awk 'BEGIN {FS=""} {for (i=1; i<=NF; i+=1){printf $i"\x00"}}'`
echo -n $var >nul.txt

nul.txt содержит "abcdefgh" (hex: 61 62 63 64 65 66 67 68)
т.е. символ "0" отсутствует

выполняю тоже самое в шеле:
$ echo "abcdefgh" |awk 'BEGIN {FS=""} {for (i=1; i<=NF; i+=1){printf $i"\x00"}}' >nul.txt

nul.txt содержит "a b c d e f g h ", где пробел означает символ "0"
(hex: 61 00 62 00 63 00 64 00 65 00 66 00 67 00 68 00)
т.е. символ "0" присутствует

с другими символами (например: \x0A, \x0D , \xFF) проблем нет

Помогите загнать \x00 в переменную.


Содержание

Сообщения в этом обсуждении
"символ NUL в переменных bash"
Отправлено Gleb , 10-Май-06 13:32 
Плиз, Помогите загнать ноль в переменную.

"символ NUL в переменных bash"
Отправлено Gleb , 10-Май-06 17:04 
Может есть другие решения?