Si desea realizar un script de la instalación, se requieren algunos pasos más, ya que el nombre del archivo .dmg
, el nombre del Volumen creado, el nombre de la aplicación y el nombre del dispositivo que se debe separar todos pueden ser diferentes Además, pueden tener espacios en ellos.
También un .dmg
puede tener un archivo .app
o un archivo .pkg
y requieren un comportamiento diferente.
Aquí hay una función de bash para instalar un dmg desde una URL remota:
# usage: installdmg https://example.com/path/to/pkg.dmg
function installdmg {
set -x
tempd=$(mktemp -d)
curl $1 > $tempd/pkg.dmg
listing=$(sudo hdiutil attach $tempd/pkg.dmg | grep Volumes)
volume=$(echo "$listing" | cut -f 3)
if [ -e "$volume"/*.app ]; then
sudo cp -rf "$volume"/*.app /Applications
elif [ -e "$volume"/*.pkg ]; then
package=$(ls -1 | grep *.pkg | head -1)
sudo installer -pkg "$volume"/"$package".pkg -target /
fi
sudo hdiutil detach "$(echo "$listing" | cut -f 1)"
rm -rf $tempd
set +x
}
Tenga en cuenta que si .dmg
tiene un archivo .app
que se ejecuta para instalar el programa, entonces tendrá que hacer algo diferente nuevamente.