我试图通过执行命令cksum
来使用Go获取一个文件的cksum。
获取以下错误:
exec: "cksum": executable file not found in $PATH
下面是代码:
cmd := exec.Command("/bin/cksum",dst)
感谢。
我试图通过执行命令cksum
来使用Go获取一个文件的cksum。
获取以下错误:
exec: "cksum": executable file not found in $PATH
下面是代码:
cmd := exec.Command("/bin/cksum",dst)
感谢。
cmd := exec.Command("/usr/bin/cksum",dst)
从文档exec.Command
:
If name contains no path separators, Command uses LookPath to resolve the path to a complete name if possible. Otherwise it uses name directly.
所以这是稍微好一点的使用cmd := exec.Command("cksum", …)
,让以往任何时候都存在的路径在哪里被发现。 或者你应该运行几乎每个unix系统都会运行的which cksum
:/usr/bin/cksum
。
但更好的是,让您的代码可移植到任何 OS可以运行Go并使用hash/crc32
。 甚至更好,如果你能去除不必使用CRC32(这是古cksum
使用), 挑其他远远优于哈希一个从 hash/…
, crypto/…
(如SHA256)的任何要求, 或golang.org/x/crypto/…
(例如sha3)。
你确定'cksum'实际安装在'/ bin'下吗? – Mureinik