私は2つのシェルスクリプトを書いています。最初は数字とパスを受け入れます。説明されたパスを入力し、すべてのファイルをmd5sumとして合計してから、ファイルをtar.gzにパッケージ化します。
2番目のスクリプトはtar.gzを取得し、内容を抽出してディレクトリに移動します。私の問題はディレクトリに入ることです。コマンドを実行しています。コマンドの出力をtar -xzvf "$FILE"
どのように取得しますか?tar
頑張る
PATH=tar -xzvf "$FILE" | sed -e 's@/.*@@' | uniq
cd "$PATH"
しかし、これはうまくいかないようです。 2番目の試みは次のとおりです。
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