解压并进入目录的 Shell 脚本

解压并进入目录的 Shell 脚本

我正在编写两个 shell 脚本。第一个接受数字和路径。输入所述路径,对所有文件进行 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

相关内容