我有兴趣编写一个shell脚本,它将通过使用MD5校验和算法告诉我文件是否已被更改或更改。
我正在使用以下代码或代码,但是不太明白如何在示例中使用管道。我相信这是将一个文件与另一个保存的文件进行比较,但是如果使用cut和tee命令,它会喜欢任何形式的解释。提前谢谢!
md5=`md5sum ${FILE} | cut -d" " -f1 | tee "${SAVEDIR}/${FILE}.md5"`
答案 0 :(得分:1)
此代码只是执行以下操作的一种方法:
请查看所有命令/程序的手册页,因为它包含了解其行为所需的所有信息
答案 1 :(得分:1)
首先,我想更改以下命令: -
md5=`md5sum ${FILE} | cut -d" " -f1 | tee "${SAVEDIR}/${FILE}.md5"`
要
md5=$(md5sum ${FILE} | cut -d" " -f1 | tee "${SAVEDIR}/${FILE}.md5")
因为这些日子里第一个被认为是旧的。
现在关于|
,在Unix / Linux环境中,我们使用该指令将一个命令的输出重定向到另一个命令。最左边的命令总是获得第一个首选项并首先执行。
现在看下面,这里总共有3个命令
要执行的第一个命令是
md5=`md5sum ${FILE}
上述命令执行后,其输出将重定向到命令
cut -d" " -f1 'output from md5=`md5sum ${FILE}'
因此,在上面的cut
命令中,将对第一个命令的输出进行处理。
现在最终来自cut -d" " -f1 'output from md5=md5sum ${FILE}'
的输出将重定向/提供给命令tee "${SAVEDIR}/${FILE}.md5")
,这将生成最终输出,并且该输出将存储在变量md5
希望这会对你有所帮助。