Linux 用于检测操作系统体系结构的脚本,并根据结果选择file-x32或file-x64

Linux 用于检测操作系统体系结构的脚本,并根据结果选择file-x32或file-x64,linux,architecture,x86,64-bit,detect,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 是否可以像这样简单地修改此

我正在尝试让脚本检查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块可以包含多条语句。因此,如果您希望每个分支都有回声,可以这样做

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

你为什么不试试那个解决方案呢?我确实试过那个解决方案,是的,它是有效的,但我不确定这是否是正确的方法,而且我想向用户反馈检测到的操作系统。。我还担心有些人在x32系统上安装ubuntu x64,这会愚弄上面的脚本吗?或者检查实际的进程。我真的很难找到问题。如果你想知道你是否能在那里挤出回声,去试试吧。如果您担心一些场景,那么请验证它们,然后制定解决方案。所以您实际上是说,确实没有必要使用此站点,因为一切都应该是反复试验的?仅仅因为我做的某件事有效,并不意味着它是正确的方法。我是linux新手,我希望一开始就正确地做事,这就是我征求意见的原因。既然你“真的很难找到一个问题”,我就把它抄下来给你。。(getconf LONG_位是否检查实际处理器)。。如果你不能或不愿意帮忙,请不要费心留下无用的评论。这些都不是无用的评论,你会发现这里的人会跳上一些琐碎的问题,比如这一个,而这一个几乎是空的。因为你的问题不清楚。关于提问,有一个很好的指南,你也可以看到你在评论中添加的问题实际上并不在你的问题中。这是聪明的Aaron,最后一个变量示例最适合我的需要。。非常感谢您抽出时间。。