1

Подскажите пожалуйста, в чем подвох?

#!/bin/bash
cnt=232666
cnt_md5=$(echo -n $cnt | md5sum | cut -c 1-32)
cnt1_md5=$(echo -n "232666" | md5sum | cut -c 1-32)
echo "cnt_md5            $cnt_md5"
echo "cnt1_md5 right     $cnt1_md5"

вывод соответствующий, причем правильно второе значение
cnt_md5            501f188764a73da1a763e7e7c0b25e75
cnt1_md5 right     6d9d06e2287df9bca4f5a2eb897d8ab4

Как мне сделать, чтобы выводило правильное cnt_md5? Корректное значение: cnt1_md5

РЕШЕНИЕ

2 (14.03.2015 16:38:39 отредактировано mvt)

Чем качали? Ошибка - явная.
А что прикалываться со скриптами? Не проще так:
md5sun ....&& cat md5 (Ну если сумму заранее запишете на листочек) ab

3 (14.03.2015 16:48:37 отредактировано boot2k3)

А при чем тут чем качал, это не файл?
Задача такая, что имеется определенный текст(циферно буквенный), кт. я хочу вписать в переменную и для этого текста(из переменной) получить md5 hash
Но получается так, что если вычислять для текста напрямую, то получается правильный результат, а если для текста из переменной, то неправильный.

4

Ладно.  а md5 файла - Вы знаете?

5

mvt пишет:

Ладно.  а md5 файла - Вы знаете?

Объясните,  зачем нам какой-то там файл нужен? Не вижу связи с вопросом

6

Мне? Да нужны некторые файлы, нужна именно их целостность. Вот я и проверяю всегда md5 ab

7

А мне для другой цели надо, чтобы пройти аутентификацию. Там для кукизов используется эта гадость
http://linuxforum.ru/viewtopic.php?id=37979

8

У меня всё совпало
GNU bash, version 4.3.33(1)-release (x86_64-redhat-linux-gnu)

9

Тоже всё совпало.
GNU bash, version 4.2.53(1)-release (i586-suse-linux-gnu)

10 (14.03.2015 19:59:26 отредактировано boot2k3)

хм, странно
попробую тогда обновить bash

не помогло
GNU bash, version 4.3.33(1)-release (mipsel-unknown-linux-gnu)

в чем может еще дело быть?
можно ваш код для проверки?
md5sum тоже обновил до последнего, все равно суммы различаются ac

11

Всем спасибо.
Разобрался, первоначальный формат скрипта был  неправильным, не unix-овый в итоге и функция echo -n выполнялась с доп символом ^M