Форум — General Как узнать из командной строки установлена 32-х или 64-х разрядная ОС? 0 0 subj. Возможно ли это? uname -a к примеру показывает x86_64 x86_64 x86_64 GNU/Linux не понятно Ссылка
Например так: $ file /sbin/init /sbin/init: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.8, stripped sdio ★★★★★ (29.08.08 18:09:31 MSD) Ссылка
if [ $(uname -a|grep -c 'x86_64') -ne 0 -o $(uname -a|grep -c 'ia64') -ne 0 ]; then # тут если оно 64-х битное для x86 платформы else # тут в других случаях fi man bash man test man grep Slavaz ★★★★★ (29.08.08 18:14:03 MSD) Показать ответ Ссылка
Ответ на: комментарий от Slavaz 29.08.08 18:14:03 MSD >man bash >man test >man grep не подходят, т.к. показывают какую-то хренотень вместо разрядности ОС anonymous (29.08.08 18:50:21 MSD) Показать ответ Ссылка
Ответ на: комментарий от anonymous 29.08.08 18:50:21 MSD Ладно, багфиксинг: man arch ;) Slavaz ★★★★★ (29.08.08 18:56:26 MSD) Показать ответ Ссылка
Ответ на: комментарий от Slavaz 29.08.08 18:56:26 MSD в догонку: uname -m Slavaz ★★★★★ (29.08.08 18:57:45 MSD) Ссылка
$ uname -a Linux lnx3 2.6.9-22.0.1.ELsmp #1 SMP Tue Oct 18 18:39:27 EDT 2005 i686 i686 i386 GNU/Linux $ getconf LONG_BIT 32 $ uname -a Linux lnx5 2.6.25-2-amd64 #1 SMP Mon Jul 14 11:05:23 UTC 2008 x86_64 GNU/Linux $ getconf LONG_BIT 64 sdio ★★★★★ (30.08.08 13:02:22 MSD) Ссылка
( umask 0077; t=$( mktemp ); echo -e "int main(void) { return sizeof(void *)*8; }" | gcc -x c - -o "${t}"; "${t}"; echo $?; rm "${t}" ) Deleted (30.08.08 19:05:13 MSD) Показать ответ Ссылка
Ответ на: комментарий от Deleted 30.08.08 19:05:13 MSD s/echo -e/echo/ Deleted (30.08.08 19:07:24 MSD) Ссылка