2016-05-27 45 views
2

我得到了Alpine这个好奇的问题。我想检查bash控制台中文件的校验和。它在CentOS下工作,但不在Alpine下工作。错误在哪里?检查Alpine中的文件校验和

在CentOS的

$ sha1sum /bin/tini 
fa23d1e20732501c3bb8eeeca423c89ac80ed452 /bin/tini 
$ echo "fa23d1e20732501c3bb8eeeca423c89ac80ed452 /bin/tini" | sha1sum -c - 
/bin/tini: OK 

高寒

$ sha1sum /bin/tini 
fa23d1e20732501c3bb8eeeca423c89ac80ed452 /bin/tini 
$ echo "fa23d1e20732501c3bb8eeeca423c89ac80ed452 /bin/tini" | sha1sum -c - 
sha1sum: WARNING: 1 of 1 computed checksums did NOT match 
+0

只是为了测试,'echo'fa23d1e20732501c3bb8eeeca423c89ac80ed452/bin/tini'| sha1sum -c -'(简单引号)效果更好? – VonC

+0

同样的结果。感谢您的帮助,我的帖子是关于下面的Docker容器,我使用下面的Docker命令:'docker run -it --rm blacklabelops/jenkins:alpine bash' – blacklabelops

+0

shell命令会更好地工作吗? 'docker run -it --rm blacklabelops/jenkins:alpine sh -c'echo“fa23d1e20732501c3bb8eeeca423c89ac80ed452/bin/tini”| sha1sum -c -'' – VonC

回答

3

你能尝试加入1个空间校验与路径之间(共2条):

$ echo "fa23d1e20732501c3bb8eeeca423c89ac80ed452 /bin/tini" | sha1sum -c - 

我试着与/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 

错误是因为sha1sum在使用-c调用时其预期输出为输入,其输出使用2个空格。

+0

最后的作品!谢谢! – blacklabelops