¿Desencadenar la creación de una lista de preferencias específica?

3

Tengo la siguiente función:

hardware_model () {

  local hardware_mod
  hardware_mod=$(defaults read ~/Library/Preferences/com.apple.SystemProfiler.plist 'CPU Names' \
  | cut -sd '"' -f 4 \
  | uniq)

  write_header "Hardware Model" "$hardware_mod"
}

que devuelve, por ejemplo: MacBook Air (13-inch, Early 2014) .

Sin embargo, en algunas máquinas, ejecutando la misma versión de OS X, obtengo:

2018-08-20 11:59:30.331 defaults[25029:3478859] 
The domain/default pair of 
(/var/root/Library/Preferences/com.apple.SystemProfiler.plist, CPU 
Names) does not exist . 

Mi pregunta es: ¿qué acciones específicas desencadenan la creación de: com.apple.SystemProfiler.plist ? Me gustaría poder crear este archivo de manera confiable en OS X 10.10-10.13 (inclusive), desde una terminal, si es posible.

Gracias.

    
pregunta marshki 20.08.2018 - 18:27

2 respuestas

0

Parece que estás ejecutando tu script como root, por lo que ~ se expande a /var/root en lugar de un directorio principal en /Users . A menos que haya iniciado sesión en la cuenta de root utilizando la GUI, no esperaría que ese archivo exista en la carpeta de inicio de root. Debería poder encontrar el archivo en una cuenta de usuario en la que se haya iniciado sesión.

    
respondido por el grg 20.08.2018 - 18:56
0

En caso de que aún intentes hacer esto, acabo de descubrir cómo generar el archivo en mi Mac con Mac OS X 10.13.6 (17G65).

Es muy simple. Parece que el archivo se genera una vez que selecciona "Acerca de esta Mac" en el menú, como se muestra aquí:

Antesdeeso,"$ HOME / Library / Preferences / com.apple.SystemProfiler.plist" no existía.

Después de eso, podría ejecutar

defaults read "$HOME/Library/Preferences/com.apple.SystemProfiler.plist" 'CPU Names'

y obtén el resultado que estaba buscando.

    
respondido por el TJ Luoma 09.09.2018 - 22:57

Lea otras preguntas en las etiquetas