Я устранил ошибку об отсутствующем read-package-json.js
с помощью последнего сценария установки изhttps://raw.githubusercontent.com/npm/npm/latest/scripts/install.sh. (Источник:https://github.com/npm/npm/issues/18524#issuecomment-385369514).
После этого вы можете столкнуться с ошибкой об отсутствии rimraf
. По крайней мере, для этого есть пакет Debian Stretch :apt install node-rimraf
. Альтернативы см. вhttps://github.com/npm/npm/issues/18524и https://github.com/npm/npm/issues/19105.
Наконец, вы можете столкнуться с ошибкой об отсутствии make
, если она еще не установлена, поэтому apt install make
.
Если у вас есть hexdump
завалявшиеся:
$ printf "%s" "$testKey" | hexdump -ve '/1 "%x"'
38373938282a2639387d3925225e38265d385f39387b393739382a2a3736383736
-e
задает строку формата для hexdump
, которая «должна быть заключена в двойные кавычки (" )метки». /1
использует по одному байту за раз для строки формата %x
, которая печатает ее. в шестнадцатеричном формате (, в противном случае порядок байтов может привести к другому результату ).-v
— заставить его также печатать повторяющиеся данные (по умолчанию — заменить их на*
).
Да, с xxd
можно сделать то же самое:
testKey='8798(*&98}9%"^8&]8_98{9798**76876'
testHex=$(echo -n "${testKey}" | xxd -p -c 100)
Флаг -p предназначен для шестнадцатеричного дампа без информации о смещении.
Флаг -c 100 предназначен для строки -длиной 100 символов (по умолчанию 16, макс. 256 ).
С «просто bash», используя трюк из BASH print question (printf \$ (printf '%03o' $1))
$ for ((i=0;i<${#testKey};i++)); do printf '%x' "$(printf "'%c" "${testKey:i:1}")"; done; echo
38373938282a2639387d3925225e38265d385f39387b393739382a2a3736383736
С перломunpack
$ perl -E 'say unpack "H*", $ARGV[0]' "$testKey"
38373938282a2639387d3925225e38265d385f39387b393739382a2a3736383736