Я работаю над инструментарием для компании, над которой я работаю, проблема в том, что один из инструментов в этом «комплекте» должен обладать способностью распознавать архитектуры, у меня уже есть 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
Если вы не можете использовать 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 ветвей.