linux - 检测操作系统架构并根据结果选择 file-x32 或 file-x64 的脚本

标签 linux architecture x86 64-bit detect

我正在尝试让我的脚本检查 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 位操作系统

最佳答案

if-else block 可以包含多个语句。因此,如果您想要每个分支的回声,您可以这样做。

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

关于linux - 检测操作系统架构并根据结果选择 file-x32 或 file-x64 的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18677113/

相关文章:

x86 - x86 架构中的根联合体与系统代理是什么?

exception - 是否存在未对齐数据会导致 x86 CPU 产生异常的情况?

linux - 在 Linux 中通过脚本请求用户输入并根据用户输入创建文件

ios - 为 iOS 添加 Google_analytics 尝试了很多方法都不起作用?

linux - 在 Linux 中从具有不同分隔符的文本文件中提取列

networking - 桥接到 XMPP 的最佳架构是什么?

java - 在线文档编辑器 - 我从哪里开始、从什么开始?

c - 在字符串操作中使用 DI 寄存器

linux - 如何使用python在后台运行ssh反向隧道?

linux - 如何使用 vmstat 有效地监控系统状态?