Конечный пробел при генерации md5

Я могу предложить, чтобы Вы использовали puppet для отслеживания установленного программного обеспечения в Linux.

Марионетка, автоматизированный административный механизм для Вашего *отклоняет системы, выполняет задачи администрирования (такие как добавляющие пользователи, устанавливая пакеты, и обновляя конфигурации сервера) на основе централизованной спецификации.

Можно отослать ссылку

2
09.01.2013, 06:46
1 ответ

Это - 32 символа! md5sum добавляет перевод строки в конец. Можно избавиться от него как это:

% echo -n string | md5sum|awk '{print $1}'|wc -c
33
% echo -n $(echo -n string | md5sum|awk '{print $1}')|wc -c
32

или Вы могли сделать это как это:

% echo -n $(md5sum <<< 'string'|awk '{print $1}')|wc -c
32

Можно сказать, когда одна из команд добавляет новую строку, потому что 32 символьных строки обнаружатся на ее собственной строке. Если никакая новая строка не присутствует, это должно всегда обнаруживаться как это:

[prompt %] echo -n $(md5sum <<< 'string'|awk '{print $1}')
b80fa55b1234f1935cea559d9efbc39a[prompt %]
4
27.01.2020, 22:01
  • 1
    спасибо за ответ! К сожалению, у меня нет достаточной репутации для голосования Вас. Ради ясности, хотя, я думаю, что мне нравится echo -n $(echo -n "string" | openssl md5) –  Alex Krycek 09.01.2013, 07:12
  • 2
    Уверенный! Это - красота UNIX. Существует больше чем один способ сделать все! –  slm♦ 09.01.2013, 07:14

Теги

Похожие вопросы