Necesito hacer un bash script que, en caso de error, reinicie la instalación de herramientas de línea de comandos, y en caso de que el usuario cancele la instalación, entonces detenga el script. He pensado en analizar el código de error pero no puedo conseguirlo ya que xcode-select inicia 'Install Command Line Developer Tools.app' como proceso hijo. No puedo ejecutar 'Install Command Line Developer Tools.app' debido al siguiente error
Instalar herramientas de desarrollo de línea de comandos[68192:4620947] *** CFMessagePort: bootstrap_register(): falló 1100 (0x44c) 'Permiso denegado', port = 0x9107, name = 'com.apple.dt.CommandLineTools.installondemand' Consulte /usr/include/servers/bootstrap_defs.h para ver los códigos de error.
¿Qué más puedo probar?
Mi actual script es:
pid=$(ps -ef | grep "Install Command Line Developer Tools" | grep -v grep | awk '{print $2}' | xargs -r)
until [[ -z $pid ]]; do
sleep 5;
pid=$(ps -ef | grep "Install Command Line Developer Tools" | grep -v grep | awk '{print $2}' | xargs -r)
done
if [[ ! -e "/Library/Developer/CommandLineTools/usr/bin/git" ]] ; then
echo "Error: User canceled xcode command line tools installation or xcode command line tools installation failed."
fi