作为一个 shell 脚本的初学者,我编写了这个 bash 脚本函数来返回文件的 md5sum,同时为用户提供一个 GUI 进度条。
md5sum_of_file () {
(pv -n $1 | md5sum | sed -e 's/\s.*//g' > /tmp/md5sum) 2>&1 | zenity --progress --auto-close
echo $(</tmp/md5sum)
rm /tmp/md5sum
}
pv -n $1
将文件输入md5sum | sed -e 's/\s.*//g'
(sed 去除总和的关联文件名的输出),同时将百分比传送到zenity --progress --auto-close
.
我知道在这种情况下你不能简单地将校验和分配给一个变量,因为“(pv -n $1 | $(md5sum | sed -e 's/\s.*//g'))”在它自己的范围内子壳。但是有没有办法在不创建临时文件(在本例中为“/tmp/md5sum”)的情况下做到这一点?
谢谢。