¿Qué cambios se han hecho para bash en Lion?

Estoy trabajando en algunas bashsecuencias de comandos de shell para una secuencia de comandos de inicio de sesión local y funciona bien en Leopard y Snow Leopard, pero falla en Lion. Tenía curiosidad por saber si había un lugar que enumerara las diferencias en bashLion.

Esta es una pregunta muy, muy vaga. Lo mejor sería publicar todo o una parte del guión y explicar lo que está tratando de hacer.
No creo que haya requerido un voto negativo. Seguramente hay una manera de saber qué diferencias existen en BASH entre las versiones.
Estaba tratando de usar la siguiente variable en mi script bash: nombre de usuario = "$ (whoami)"
@John Probé u="$(whoami)"; echo $uen 10.6 y 10.7, con el mismo resultado. Publique la fuente del script, de esa manera obtendrá respuestas decentes. Además, para abordar su pregunta principal, las últimas actualizaciones del sistema para 10.7 y 10.6 tendrán la misma versión de bash de todos modos, es decir.3.2.48(1)-release

Respuestas (2)

Dentro de bash, el comando echo $BASH_VERSIONmuestra la versión de bash. Luego puede buscar qué cambió en el archivo de registro de cambios , que en el caso de bash se llama CHANGES. (Hay un registro de cambios más completo en las fuentes, pero es principalmente de interés para las personas que escriben y mantienen bash).

Si sus máquinas están actualizadas, ejecutarán la misma versión . Asegúrese de que todos los programas externos utilizados en el script también estén actualizados: el script puede comportarse de manera diferente porque uno de estos programas produce un resultado diferente.

Puede observar más de cerca lo que está haciendo su secuencia de comandos ejecutando bash -x /path/to/script. La -xopción hace que bash imprima un rastro para cada comando que ejecuta. También puede poner set -xuna secuencia de comandos para activar y set +xdesactivar el rastreo.

bash --versionle dará el mismo resultado que echo $BASH_VERSIONpor cierto. +1 parabash -x script

Suponiendo que la instalación de SnowLeopard o Lion tenga las últimas actualizaciones de software, la versión de Bash es la misma. 3.2.48(1)-release.

En SnowLeopard puede tener una compilación de 32 bits en algunos casos, mientras que en Lion es (por defecto) de 64 bits.

username="$(whoami)"Es extremadamente improbable que el comando cambie alguna vez su salida en bash, ya que hacerlo incurriría en la ira devoradora de cerebros de un número infinito de tipos de administradores de sistemas zombis voraces.

(Por cierto, los administradores de sistemas casi nunca son muertos vivientes, a pesar de la apariencia ocasional de lo contrario. La descripción se agregó para lograr un efecto dramático y no se pretendía ofender a los administradores de sistemas. Ofrezco mis más sinceras disculpas a los administradores de sistemas no muertos reales y a sus familias, y Los insto a que tomen una escopeta de inmediato y bloqueen la puerta del dormitorio, toque dos veces para asegurarse).