저는 두 개의 쉘 스크립트를 작성하고 있습니다. 첫 번째는 숫자와 경로를 허용합니다. 설명된 경로를 입력하고 모든 파일을 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