У меня была подобная проблема с ssh. В моем случае проблема состояла в том, что я установил hadoop cloudera (от об/мин на песнях 6), и он создал пользователя hdfs с корневым каталогом
/var/lib/hadoop-hdfs
(не стандартный /home/hdfs
).
Я изменился в/etc/passwd /var/lib/hadoop-hdfs
кому: /home/hdfs
, перемещенный корневой каталог к новому местоположению и теперь я могу соединиться с аутентификацией с открытым ключом.
Вы всегда можете использовать printf
для преобразования в десятичную величину и сравнить это, как @ott-- предложил:
[ $(printf "%d" "$hex_string_1") -eq $(printf "%d" "$hex_string_2") ] && echo y
Или
if [ $(printf "%d" "$hex_string_1") -eq $(printf "%d" "$hex_string_2") ]
then
echo y
fi
Подробнее о комментарии @ Graeme.
Загруженный сценарий - это сценарий bash со встроенным тарболом. Часть сценария сначала проверяет tarball по md5sum, а затем распаковывает tar, который содержит несколько архивов .tar.bz2
. Затем для распаковки архивов используется пользовательская функция extract _ dist ()
. Т.е.:
extract_dist python-2.7.10-0
extract_dist conda-3.14.1-py27_0
...
извлекает файлы:
python-2.7.10-0.tar.bz2
conda-3.14.1-py27_0.tar.bz2
...
Для 32-разрядной версии часть скрипта может быть извлечена:
head -n 467 Anaconda-2.3.0-Linux-x86.sh
Для 64-разрядной версии часть скрипта может быть извлечена:
head -n 466 Anaconda-2.3.0-Linux-x86_64.sh
Как видно, часть скрипта заканчивается на exit 0
, который прерывает любую дальнейшую обработку скрипта bash
Tarball извлекается с помощью:
tail -n +469 $THIS_PATH | tar xf - --no-same-owner
tail -n +468 $THIS_PATH | tar xf - --no-same-owner
для 32-разрядных и 64-разрядных соответственно.
Можно, например, сделать
tail -n +469 Anaconda-2.3.0-Linux-x86.sh | tar -t
, чтобы перечислить файлы в 32-разрядном архиве.
-121--61325-Проблема решена путем удаления подчеркивания из значения HOSTNAME из/etc/pve/nodes/pve/openvz/130.conf.
-121--289372-POSIXly:
[ "$((hex_string_1))" -eq "$((hex_string_2))" ]
Для старых версий тире
необходимо:
[ "$(($hex_string_1))" -eq "$(($hex_string_2))" ]
POSIXly, About:
[ "$hex_string_1" -eq "$hex_string_2" ]
Спецификация POSIX для [
aka test
utility говорит, что операнды должны быть целыми числами, без указания, какие формы целых чисел (десятичные, восьмеричные, шестнадцатеричные...) должны поддерживаться, но это на самом деле рассматривается в пункт 6 в Utility Argument , который указывает, что будет использоваться по умолчанию, если нет
6. если не указано иное, всякий раз, когда операнд или параметр-аргумент является или содержит числовое значение:
- Число интерпретируется как десятичное целое число.
- Цифры в диапазоне от 0 до 2147483647 синтаксически распознаются как числовые значения.
- Если в описании утилиты указано, что она принимает отрицательные числа в качестве операндов или аргументов опции, цифры в диапазоне от -2147483647 до 2147483647 синтаксически распознаются как числовые значения.
- Допустимы диапазоны, превышающие указанные здесь.
На практике [0x10 -eq 16]
работает только с posh
( [0x1-eq 0x01
] работает в AT & T ksh
(но только потому, что они рассматриваются как 0
, [0x2-eq 0x123]
также возвращают значение true), и за исключением posh
(где ошибка ), все реализации [
возвращают значение false на [010 -eq 8]
(как в 010
рассматривается как десятичная, а не восьмеричная)).
В ksh93
, хотя вы не можете сделать [0x10 -eq 16]
, вы можете сделать [+ 0x10 -eq 16]
(также с posh
). В производных AT & T ksh
и pdksh
(включая posh
) можно также выполнить ['16 # 10' -eq 16]
.