Usando bash, quiero verificar si las herramientas de línea de comandos están instaladas.
Actualmente son y cuando escribo xcode-select --install
, obtengo:
xcode-select: error: las herramientas de línea de comandos ya están instaladas, use "Actualización de software" para instalar actualizaciones Parece que Homebrew ya está instalado. Si tu intención es reinstalar, debes hacer ... bla bla bla
Básicamente, mi problema es que tengo varios métodos para verificar en bash (usando if / fi
) pero no sé qué solución es la mejor.
1) Puedo hacer xcode-select -p
y eso devuelve la ruta /Library/Developer/CommandLineTools
, pero ¿cómo debo construir la declaración if
? No sé qué se presentará cuando CLT no esté instalado.
2) Puedo hacer xcode-select --version
. ¿Debería entonces grep
para una frase version
desde que obtengo
xcode-select version 2343.
3) Puedo hacer which xcode-select
pero, de nuevo, en todos los casos no estoy seguro de cómo debería verse if
. También creo que grep
no es la mejor manera, ya que en el futuro la salida puede ser diferente en la versión futura de OSX.
Para resumir, me gustaría algo como
#!/bin/bash
if [ no idea ]; then
#installed, nothing to do...
else
xcode-select --install
fi
Gracias por cualquier sugerencia.