압축을 풀고 디렉토리에 들어가는 쉘 스크립트

압축을 풀고 디렉토리에 들어가는 쉘 스크립트

저는 두 개의 쉘 스크립트를 작성하고 있습니다. 첫 번째는 숫자와 경로를 허용합니다. 설명된 경로를 입력하고 모든 파일을 md5sum으로 합산한 다음 파일을 tar.gz로 패키징합니다.

두 번째 스크립트는 tar.gz를 가져와 내용을 추출한 다음 디렉터리로 이동합니다. 내 문제는 디렉토리에 들어가는 것입니다. 명령을 실행 중입니다 . 명령의 출력을 tar -xzvf "$FILE"어떻게 얻나요 ? tar나는 노력한다

PATH=tar -xzvf "$FILE" | sed -e 's@/.*@@' | uniq
cd "$PATH"

그러나 이것은 작동하지 않는 것 같습니다. 두 번째 시도는 다음과 같습니다.

if [ "$#" -ne 1 ]; then
    echo "An upgrade package must be supplied."
else
    FILE=$1
    if [[ -f "$FILE" ]]; then
        tar -xzvf "$FILE" 
        FOLDER="${FILE/.tar.gz/""}"
        cd "$FOLDER"
        if md5sum --status -c sums.txt && echo OK; then
            ./upgrade.sh
        else
        echo "md5sum check was not successful, cannot upgrade"
        fi
    fi
fi

이로 인해 심각한 대체 오류가 발생합니다.

잘못된 대체 오류를 수정한 다음 계속 멈춥니다.cd

관련 정보