解凍してディレクトリに入るシェルスクリプト

解凍してディレクトリに入るシェルスクリプト

私は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

ベストアンサー1

おすすめ記事