Tar 명령은 BASH 스크립트에서 실행할 때와 수동으로 실행할 때 약간 다른 출력을 제공합니다.

Tar 명령은 BASH 스크립트에서 실행할 때와 수동으로 실행할 때 약간 다른 출력을 제공합니다.

다음 스크립트를 실행하려고 합니다.


    #!/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다음과 같은 결과가 나타납니다. script 를 사용하여 만든 아카이브에는 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

관련 정보