В моей 64-битной системе OSX El Capitan arch
печатает i386
. Возможно, вам не стоит слепо доверять его выводам.
Интересно, что
$ file /usr/bin/arch
arch: Mach-O universal binary with 2 architectures
arch (for architecture i386): Mach-O executable i386
arch (for architecture x86_64): Mach-O 64-bit executable x86_64
Что касается Linux, то в старых системах не было версии, поставляемой теперь GNU coreutils (а на некоторых машинах не было программы или сценария arch
). Это было добавлено в 2007 году, цитата из NEWS
:
* Noteworthy changes in release 6.9.90 (2007-12-01) [beta]
** New programs
arch: equivalent to uname -m, not installed by default
But don't install this program on Solaris systems.
Причина, по которой в комментарии было сказано не устанавливать на Solaris, заключается в том, что Sun предоставила эту утилиту, начиная с SunOS в 1980-х. Старые справочные страницы трудно найти; SunOS 4.1.3 датируется 1992 годом . В AIX и HPUX нет программы arch
, и, как и другие функции SunOS, скопированные в Linux, этой программы также нет в POSIX.
Если вам нужно что-то более надежное, вывод из config.guess
хорошо работает для большинства людей:
# You can get the latest version of this script from:
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
и если вы читаете сценарий, есть ссылки на некоторые (более старые) машины, где ] uname -m
не работал должным образом. Но сначала прочтите лицензию в шапке, чтобы увидеть, как она применима к вам.