1

我正在尝试让我的脚本检查 x32 或 x64 操作系统,并根据结果从脚本包中选择文件。

例如: 如果操作系统是 x32 位,我希望脚本将 file-x32 复制到安装目录 如果操作系统是 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 位操作系统或检测到 x64 位操作系统

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 回答