Сканирование архитектуры процессора с использованием bash

Я работаю над инструментарием для компании, над которой я работаю, проблема в том, что один из инструментов в этом «комплекте» должен обладать способностью распознавать архитектуры, у меня уже есть 32 и 64 бита, но я не могу получить рука на работу, может ли кто-нибудь помочь? это то, что я получил и нуждаюсь.

if [ "$arch" == 'armv' ];
then
echo "ARM Architecture

Что я хочу, чтобы это было, так это то, что, когда обнаруживается армейская архитектура (6 или 7, я действительно не забочусь об этой точке), она просто говорит но я уже пробовал редактировать

if [ "$arch" == 'armv' ];

на

if [ "$arch" == 'armv*' ];

Если кто-то знает решение, любая помощь будет приветствоваться.

Oh and i используйте shell / bash, потому что они не хотят каких-либо дополнительных программ на машинах, поэтому я использую bash и shell-скрипты, чтобы у них были свои собственные программы:)

------------- ----- РЕДАКТИРОВАТЬ ------------------

Вот код полностью, чтобы вы, ребята, могли подумать о том, что im пытается [!d9 ]

arch=$(uname -i)

if [ "$arch" == 'x86_64' ];
then 
echo "X64 Architecture" 
fi

if [ "$arch" == 'x86_32' ];
then
echo "X32 Architecture"
fi

if [ "$arch" == 'armv*' ];
then
echo "Arm architecture"
fi
1
задан 28 July 2016 в 18:20

1 ответ

Если вы не можете использовать Bash-isms, такие как [[ ... ]], вы также можете использовать блоки case для строк с глобусом и ответвления в соответствии с результатом соответствия:

case "`uname -i`" in
  x86_64|amd64)
    echo X64;;
  i?86)
    echo X32;;
  arm*)
    echo ARM;;
  powerpc|ppc64)
    echo PowerPC;;
esac

case блоки могут быть более читабельными, чем серия блоков if ... then ... elif, если имеется более 2 или 3 ветвей.

0
ответ дан 23 May 2018 в 07:44
  • 1
    это уже сработало, и так как это была последняя часть программы, у меня нет ничего нового, чтобы добавить, я не отредактирую ее, спасибо в любом случае за подсказку! – patrick 29 July 2016 в 23:45

Другие вопросы по тегам:

Похожие вопросы: