![从 BASH 脚本运行与手动运行时,Tar 命令提供的输出略有不同](https://linux22.com/image/225542/%E4%BB%8E%20BASH%20%E8%84%9A%E6%9C%AC%E8%BF%90%E8%A1%8C%E4%B8%8E%E6%89%8B%E5%8A%A8%E8%BF%90%E8%A1%8C%E6%97%B6%EF%BC%8CTar%20%E5%91%BD%E4%BB%A4%E6%8F%90%E4%BE%9B%E7%9A%84%E8%BE%93%E5%87%BA%E7%95%A5%E6%9C%89%E4%B8%8D%E5%90%8C.png)
我正在尝试运行以下脚本:
#!/bin/sh
pm2 stop process
cd ~/userdata/
tar -czvf backup.tar.gz Config
mv backup.* ~/backups/
pm2 start process
运行脚本时,backup.tar.gz 输出文件会排除任何空目录,但是当我在命令行上手动运行 tar 命令时,它会包含它们。我想让脚本包含所有文件和子目录,无论它们是否为空。
编辑:
使用tar --version
我得到以下输出:在使用脚本制作的存档上tar (GNU tar) 1.34 Copyright (C) 2021 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by John Gilmore and Jay Fenlason.
使用时,空目录不存在,当我在使用手动命令制作的存档上运行该目录时,会包含该目录。tar -tvf