![解压并进入目录的 Shell 脚本](https://linux22.com/image/215902/%E8%A7%A3%E5%8E%8B%E5%B9%B6%E8%BF%9B%E5%85%A5%E7%9B%AE%E5%BD%95%E7%9A%84%20Shell%20%E8%84%9A%E6%9C%AC.png)
我正在编写两个 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