Linux 编写脚本以匹配系统和软件的体系结构
我正在尝试编写一个脚本,它将交叉检查以下内容:Linux 编写脚本以匹配系统和软件的体系结构,linux,bash,cpu-architecture,Linux,Bash,Cpu Architecture,我正在尝试编写一个脚本,它将交叉检查以下内容: 安装文件所针对的体系结构(32位或64位) 系统的体系结构 第二部分非常简单,可以使用诸如lscpu之类的命令来计算,然后使用grep和awk或sed组合来提取特定行。然而,第一部分被证明是一个复杂的部分。我尝试使用file命令,但它的输出非常不规则。因此,从中提取特定列变得非常困难。我也尝试过使用objdump,尽管传统上不用于此类事情。但是,正如预期的那样,由于其局限性,它无法识别大多数文件类型 脚本的其余部分非常简单,我将比较这些值并继续执行
lscpu
之类的命令来计算,然后使用grep
和awk
或sed
组合来提取特定行。然而,第一部分被证明是一个复杂的部分。我尝试使用file
命令,但它的输出非常不规则。因此,从中提取特定列变得非常困难。我也尝试过使用objdump
,尽管传统上不用于此类事情。但是,正如预期的那样,由于其局限性,它无法识别大多数文件类型
脚本的其余部分非常简单,我将比较这些值并继续执行预期任务。我希望您能帮助我完成上面提到的第1点。您能给出一些
文件命令不规则输出的例子吗?你的意思是它在可执行文件和非可执行文件之间提供不规则的输出吗?这里是@rahul$file my_package\u name.deb
O/P:my_package\u name.deb:Debian二进制包(格式2.0)
$file my_package_name.rpm
O/P:my_package_name.rpm:rpm v3.0 bin i386/x86_64
以上示例适用于安装文件。如果我运行它,比如说一些脚本,它会给我一些东西,比如:$file crclient
O/P:crclient:ELF 32位LSB可执行文件,英特尔80386,版本1(SYSV),动态链接(使用共享libs),对于GNU/Linux 2.6.9,剥离
抱歉,评论没有采用换行格式!重复@Nodak该问题/解决方案未解决OPs问题的第一部分。我相信这就是OP想要的。@ashem我不相信有一种简单/统一的方法可以在所有类型的文件中做到这一点。我建议您在Unix和Linux站点Unix.stackexchange.com上提问。你可能会在那里找到更多的选择。