Bash:在 shell 脚本中使用双向重定向

Bash:在 shell 脚本中使用双向重定向

我正在编写一个 shell 脚本来压缩和备份某些文件。这将压缩和移动最大 4 GB 的大文件。

我在这条线上遇到了问题:

    gzip < $filelocation > $backuplocation

在哪里

  $filelocation = /home/user/image.img 

  $backuplocation = /home

我将添加类似的行来解压缩文件

    gunzip < $filelocation > $backuplocation

现在由于某种原因它不起作用了。

我尝试gunzip $filelocation > $backuplocation

我可以通过管道传输它并将压缩文件移动到目录中吗?

答案1

您不会备份gzip到目录中,而是备份到不同的文件中:

 gzip < file.in > file.out

或者在你的情况下:

 filelocation=/home/user/image.img
 backuplocation=/home/image.img.gz
 gzip < "$filelocation" > "$backuplocation"

在此基础上你可以这样做:

 gunzip < "$backuplocation" > /some/new/location/image.img

相关内容