Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用管道编写shell脚本_Shell_Pipe_Md5_Cut_Tee - Fatal编程技术网

使用管道编写shell脚本

使用管道编写shell脚本,shell,pipe,md5,cut,tee,Shell,Pipe,Md5,Cut,Tee,我对编写一个shell脚本感兴趣,该脚本通过使用MD5校验和算法来告诉我文件是否已被修改或更改 我正在使用以下行或代码,但不太了解示例中如何使用管道。我相信这是将一个文件与另一个保存的文件进行比较,但是我希望能够以任何形式解释如何使用cut和tee命令进行比较。提前谢谢 md5=`md5sum ${FILE} | cut -d" " -f1 | tee "${SAVEDIR}/${FILE}.md5"` 此代码只是执行以下操作的一种方法: 通过变量中给定的文件的md5sum获取md5校验和

我对编写一个shell脚本感兴趣,该脚本通过使用MD5校验和算法来告诉我文件是否已被修改或更改

我正在使用以下行或代码,但不太了解示例中如何使用管道。我相信这是将一个文件与另一个保存的文件进行比较,但是我希望能够以任何形式解释如何使用cut和tee命令进行比较。提前谢谢

md5=`md5sum ${FILE} | cut -d" " -f1 | tee "${SAVEDIR}/${FILE}.md5"` 

此代码只是执行以下操作的一种方法:

  • 通过变量中给定的文件的md5sum获取md5校验和,并将其传递到
  • cut,它获取提交给它的字符串的第一行并读取它,直到出现空格。然后它把这个输送到
  • tee,它只是将字符串放入给定的文件夹和文件中

请查看所有命令/程序的手册页,因为包含了解其行为所需的所有信息

此代码只是执行以下操作的一种方法:

  • 通过变量中给定的文件的md5sum获取md5校验和,并将其传递到
  • cut,它获取提交给它的字符串的第一行并读取它,直到出现空格。然后它把这个输送到
  • tee,它只是将字符串放入给定的文件夹和文件中

请查看所有命令/程序的手册页,因为包含了解其行为所需的所有信息。首先,我想更改以下命令:-

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
命令中,将对第一个命令的输出起作用

现在,最后是从md5=md5sum${FILE}输出的
cut-d”“-f1”
将重定向/馈送到命令
tee“${SAVEDIR}/${FILE}.md5”)
这将生成最终输出,该输出将存储在变量
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
命令中,将对第一个命令的输出起作用

现在,最后是从md5=md5sum${FILE}输出的
cut-d”“-f1”
将重定向/馈送到命令
tee“${SAVEDIR}/${FILE}.md5”)
这将生成最终输出,该输出将存储在变量
md5


希望这对您有所帮助。

对不起,您希望实现什么功能?据我所知,它只是
md5
文件,获取不带文件名的校验和,并将其保存到
文件以及
变量中。没什么特别的。正如你所说的,没有可比性。对不起,你想实现什么功能?据我所知,它只是
md5
文件,获取不带文件名的校验和,并将其保存到
文件以及
变量中。没什么特别的。正如你所说,没有什么可比性