bla*_*ops 6 bash docker alpine-linux
我遇到了阿尔卑斯山这个奇怪的问题.我想检查bash控制台内文件的校验和.它在CentOS下工作但不在Alpine下工作.错误在哪里?
在CentOS下
$ sha1sum /bin/tini
fa23d1e20732501c3bb8eeeca423c89ac80ed452 /bin/tini
$ echo "fa23d1e20732501c3bb8eeeca423c89ac80ed452 /bin/tini" | sha1sum -c -
/bin/tini: OK
Run Code Online (Sandbox Code Playgroud)
在阿尔卑斯山
$ sha1sum /bin/tini
fa23d1e20732501c3bb8eeeca423c89ac80ed452 /bin/tini
$ echo "fa23d1e20732501c3bb8eeeca423c89ac80ed452 /bin/tini" | sha1sum -c -
sha1sum: WARNING: 1 of 1 computed checksums did NOT match
Run Code Online (Sandbox Code Playgroud)
小智 11
您可以尝试在校验和和路径之间添加1个空格(总共2个):
$ echo "fa23d1e20732501c3bb8eeeca423c89ac80ed452 /bin/tini" | sha1sum -c -
Run Code Online (Sandbox Code Playgroud)
我尝试过/bin/busybox:
# sha1sum /bin/busybox
71bdaf6e52759f7f277c89b694c494f472ca2dfb /bin/busybox
# echo '71bdaf6e52759f7f277c89b694c494f472ca2dfb /bin/busybox' | sha1sum -c -
sha1sum: WARNING: 1 of 1 computed checksums did NOT match
# echo '71bdaf6e52759f7f277c89b694c494f472ca2dfb /bin/busybox' | sha1sum -c -
/bin/busybox: OK
Run Code Online (Sandbox Code Playgroud)
该错误是因为sha1sum在调用时需要将自己的输出作为输入,-c并且其输出使用2个空格.