Описание тега trains
Я пытаюсь написать скрипт, где будет перепроверить вещи:
1.Архитектура, для которой установочный файл был предназначен (32 или 64 бит)
2.Архитектура системы.
Вторая часть довольно проста и может быть просчитан с помощью команды lscpu
, а затем извлекая, что конкретные строки, используя сочетание grep и awk и
или СЭД
. Однако первая часть оказывается в сложной. Я попытался с помощью команды файл, но он имеет очень нерегулярное. Отсюда становится очень трудно извлечь конкретные колонки от него. Я также попытался с помощью objdump
, хотя традиционно не используется для подобных вещей. Однако, как и ожидалось, из-за своих ограничений, он не распознает большинство типов файлов.
Остальная часть сценария мертв простой, где я буду сравнивать эти значения и исходя с моими поставленными задачами. Я хотел бы вашей помощи с точки 1, упомянутых выше.
Редактировать:
Добавляя несколько примеров, чтобы объяснить мою проблему с файл
команды
файл $ my_package_name.деб
my_package_name.деб: в Debian двоичного пакета (формат 2.0)
файл $ my_package_name.об / мин
my_package_name.об / мин: об / мин В3.0 ящик для i386/x86_64 с
Выше примеры были для файлов установки. Если я запустить его для какой-то скрипт, он дал бы мне некоторые вещи, как:
файл $ crclient О/П: crclient: эльф 32-разрядный исполняемый ЛСБ, процессоры Intel 80386, Версия 1 (с SysV), динамически связан (использует разделяемые библиотеки), для Linux 2.6.9, раздели
Как вы можете видеть, я получаю очень противоречивые выхода с файл
команды. Следовательно, пытаясь извлечь часть от этого стало очень сложно.