1

スクリプトで x32 または x64 OS をチェックし、結果に基づいてスクリプト パッケージからファイルを選択しようとしています。

例: OS が x32 ビットの場合、スクリプトで file-x32 をインストール ディレクトリにコピーします OS が x64 ビットの場合、スクリプトで file-x64 をインストール ディレクトリにコピーします

結果を出力するこのコードに出くわしました:

    if [ `getconf LONG_BIT` = "64" ]
    then
        echo "I'm 64-bit"
    else
        echo "I'm 32-bit"
    fi

このスクリプトを次のように変更して仕事をするのと同じくらい簡単でしょうか。

    if [ `getconf LONG_BIT` = "64" ]
    then
        mv /tmp/autoscript/file-x64 /var/destination
    else
        mv /tmp/autoscript/file-x32 /var/destination
    fi

可能であれば、x32-bit OS Detected または x64-bit OS Detected のいずれかをユーザーにエコーしたいと思います。

4

1 に答える 1

2

if-else ブロックには、複数のステートメントを含めることができます。したがって、ブランチごとにエコーが必要な場合は、そのようにすることができます。

if [ `getconf LONG_BIT` = "64" ]
then
    echo "I'm 64-bit"
    mv /tmp/autoscript/file-x64 /var/destination
else
    echo "I'm 32-bit"
    mv /tmp/autoscript/file-x32 /var/destination
fi

アーキテクチャ情報を別の場所で使用したい場合は、それを変数に格納して、次のようにすることができます。

arch=$(getconf LONG_BIT)
echo "I'm $arch-bit"
if [ "$arch" = "64" ]
then
    mv /tmp/autoscript/file-x64 /var/destination
else
    mv /tmp/autoscript/file-x32 /var/destination
fi

さらに良いことに、変数を配置すると、次のことができます。

arch=$(getconf LONG_BIT)
echo "I'm $arch-bit"
mv /tmp/autoscript/file-x$arch /var/destination
于 2013-09-07T22:22:13.087 に答える