我正在编写两个 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