2 votos

Variable de entorno MACHTYPE en ARM

Estoy en un M3 Pro, MacOS 14.2. Cuando intento echo $MACHTYPE (en una terminal -zsh predeterminada) la salida es x86_64, mientras que uname -mp devuelve arm64 arm. Los documentos de Zsh dicen que MACHTYPE debería ser "el tipo de máquina (clase de microprocesador o modelo de máquina), determinado en tiempo de compilación." ¿Por qué mi tipo de máquina en tiempo de compilación está establecido en x86_64? No estoy ejecutando Terminal con Rosetta. Tal vez una pregunta más sólida, ¿cuál es el uso previsto del parámetro de la terminal MACHTYPE en MacOS basado en ARM?

6voto

He resaltado la parte importante en el texto que tomaste de la documentación de ZSH:

the machine type (microprocessor class or machine model), como se determinó en tiempo de compilación.

Esto significa que Apple compiló zsh en una máquina Intel, tanto para x64 como para arm64. También significa que el uso práctico de MACHTYPE es bastante limitado y (si necesitas conocer la arquitectura en tiempo de ejecución) uname -m es la opción más precisa.

PD: En bash, MACHTYPE se define como "describe el tipo de sistema en el que se está ejecutando bash". Esto explica por qué en /bin/bash, obtengo arm64-apple-darwin23, en Homebrew bash es aarch64-apple-darwin23.0.0, y en Homebrew zsh es arm. También significa que debes verificar la shell utilizada al seguir ejemplos encontrados en línea. Si necesitas el equivalente de MACHTYPE de bash en zsh, utiliza CPUTYPE ("El tipo de máquina (clase de microprocesador o modelo de máquina), como se determina en tiempo de ejecución.").

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X