Isso pode ser revisado para usar um "estamos lá ainda?" teste de sanidade em vez de dormir por um sexto de minuto:
#!/bin/bash -x
cd ~/Downloads
curl -O https://dl.google.com/chrome/mac/stable/CHFA/googlechrome.dmg
open ~/Downloads/googlechrome.dmg
while ! [[ -d /Volumes/Google\ Chrome/ ]]; do
sleep 1
done
cp -R /Volumes/Google\ Chrome/Google\ Chrome.app /Applications && open
/Applications/Google\ Chrome.app
diskutil eject Google\ Chrome
No entanto, no caso em que o .dmg
não seja montado ou, por algum motivo, seja montado em outro local, isso girará suas rodas até o final do tempo.
Um pouco melhor do que entregar isso para open
(que apenas pede ao Finder para fingir que clicamos duas vezes no arquivo), vamos montá-lo nós mesmos:
#!/bin/bash -x
cd ~/Downloads
curl -O https://dl.google.com/chrome/mac/stable/CHFA/googlechrome.dmg
set -o pipefail
if mountpoint=$(hdiutil attach googlechrome.dmg | awk 'END { print $1 }'; then
cp -R /Volumes/Google\ Chrome/Google\ Chrome.app /Applications && open
/Applications/Google\ Chrome.app
hdiutil detach "$mountpoint"
fi