ifステートメントで特定の拡張の出力を確認してください。

ifステートメントで特定の拡張の出力を確認してください。

特定のフォルダに特定の拡張子を持つパッケージが含まれていることを確認する必要があるifステートメントを含むスクリプトを作成しようとしています。その場合は、梱包を解放する必要があります。

if [ installation = "1" ]; then
    if ls /usr/local/src grep -qF ".tar.gz"; then
        tar -zxvf $package #it has to unpack the package
    elif ls /usr/local/src grep -qF ".tar.bz2"; then
        tar -xvfj $package #it has to unpack the package
    fi
    ./configure
elif [ installation = "2" ]; then
    dpkg -i $package #it has to install the deb package
fi

このように書くことができますか?

使用されていませんが、$package何を意味するのかを示すために書いた。拡張子が.tar.gz、.tar.bz2、または.debの作成されたフォルダを解凍またはインストールする必要があることをどのように知ることができるかわかりません。

ベストアンサー1

このような?

 #!/bin/bash

cd /usr/local/src
    if [ installation = "1" ]; then
        for package in *.tar.gz
        do
            tar -zxvf "${package}"
        done

        for package in *.tar.bz2
        do
            tar -xvfj "$package" #it has to unpack the package
        done
        ./configure
    elif [ installation = "2" ]; then
        dpkg -i "$package" #it has to install the deb package
    fi

おすすめ記事