Я знаю, что мы можем получить правильный вывод следующими способами:
echo -n 123456 |openssl md5 e10adc3949ba59abbe56e057f20f883e
или
printf 123456 |openssl md5 e10adc3949ba59abbe56e057f20f883e
printf 123456> file.txt openssl md5 file.txt e10adc3949ba59abbe56e057f20f883e
Однако я хочу знать, можем ли мы решить эту проблему в командной строке с дополнительными параметрами
openssl md5 <<< '123456'<br> f447b20a7fcbf53a5d5be013ea0b15af (это неверно)
bash (и ksh93, и zsh) будут всегда добавлять новую строку к содержанию строки здесь.Нет никакого способа обойти это, кроме как отфильтровать это явно.
bash
ksh93
zsh
$ tr -d '\n' <<<'123456' | openssl md5 (stdin)= e10adc3949ba59abbe56e057f20f883e