3 votos

límite variable

¿Hay un límite de caracteres en cuánto puede ser la variable PATH en macOS? ¿O hay un límite a la cantidad de binarios que puede hacer referencia en tu camino?

4voto

Jose Chavez Puntos 645

Que no va básicamente nunca golpear el límite si usted tiene cualquier tipo de camino razonablemente sano.

Sólo he tratado de tener una variable PATH que es largo 96 kB (excesivamente largo). Trabaja en alta Sierra sin problemas.

Si me paso un máximo de 128 kB, comenzar problemas de lanzamiento de comandos como fallan debido al gran ambiente. El entorno de ruta de acceso se almacena sin embargo.

1voto

Michael Zhou Puntos 167

El tamaño de una variable está sujeta a las limitaciones del hardware en el que se ejecute, que dijo, una variable puede ser milllions de bytes. Pero una variable de entorno,tales como la RUTA de acceso, está sujeto a limitaciones del sistema (ARG_MAX) ya que todo el entorno se pasa a la llamada de sistema- execve. Así, una estimación razonable de que el tamaño máximo de una variable de entorno, la bytes utilizados en el entorno actual- env | wc -c, además de una razonable buffer de bytes necesarios para ejecutar los comandos en la shell - 2048 bytes 4096 bytes, resta el número máximo de bytes permitidos en un argumento - 262144 bytes. Usablility de una variable de entorno de este tamaño es otro tema.

El shell comienza su búsqueda en el más a la izquierda de la ruta mostrada en la variable PATH, a continuación, sigue el siguiente y siguiente hasta que encuentre el comando que se emitió. La carcasa también mantiene un registro de la orden, de modo que no es necesario buscar el CAMINO de la variable de nuevo en la sesión actual. Esta es una indicación de que la búsqueda de RUTA de acceso es caro. Así, el tamaño máximo de la variable de RUTA de acceso debe ser tan pequeño como se puede hacer.

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