Los archivos /etc/*release
contienen información específica del sistema operativo como el nombre y la versión de la distribución, principalmente en las distribuciones de Linux .
Uno de los propósitos de los archivos es ayudar al software a detectar el tipo de distribución.
Un archivo que contiene información similar no existe realmente en OS X / macOS, pero puede imitarse con el siguiente script de shell:
#!/bin/sh
OS='uname -s'
REV='uname -r'
MACH='uname -m'
if [ "${OS}" = "Darwin" ]; then
OIFS="$IFS"
IFS=$'\n'
set 'sw_vers' > /dev/null
DIST='echo $1 | tr "\n" ' ' | sed 's/ProductName:[ ]*//''
VERSION='echo $2 | tr "\n" ' ' | sed 's/ProductVersion:[ ]*//''
BUILD='echo $3 | tr "\n" ' ' | sed 's/BuildVersion:[ ]*//''
OSSTR="${OS} ${DIST} ${REV}(SORRY_NO_PSEUDONAME ${BUILD} ${MACH})"
IFS="$OIFS"
fi
echo ${OSSTR}
La ejecución del script en mi sistema dará como resultado:
Darwin Mac OS X 13.4.0(SORRY_NO_PSEUDONAME 13F1911 x86_64)
En OS X / macOS, el archivo no es necesario porque los requisitos de un paquete de software están determinados por otros medios:
- Info.plist en una aplicación de instalación (por ejemplo, Instalar macOS Sierra.app requiere LSArchitecturePriority = x86_64 o LSMinimumSystemVersion = 10.7)
- scripts de verificación previa en paquetes de instaladores que usan
sw_vers
o comandos similares para determinar la versión del sistema operativo.