Usando bash, voglio controllare se gli strumenti della riga di comando sono installati.
Attualmente sono e quando digito xcode-select --install ottengo:
xcode-select: error: command line tools are already installed, use "Software Update" to install updates It appears Homebrew is already installed. If your intent is to reinstall you should do... blah blah blah
Fondamentalmente il mio problema è che ho diversi metodi per controllare in bash (usando if / fi ) ma non so quale sia la soluzione migliore.
1) Posso fare xcode-select -p e questo restituisce il percorso /Library/Developer/CommandLineTools , ma come dovrei creare l'istruzione if ? Non so cosa verrà presentato quando CLT non è installato.
2) Posso fare xcode-select --version . Dovrei quindi grep per una frase version da quando ottengo
xcode-select version 2343.
3) Posso fare which xcode-select ma, di nuovo, in tutti i casi non sono sicuro di come dovrebbe apparire if . Penso anche che grep non sia il modo migliore, dal momento che in futuro l'output potrebbe essere diverso nella versione futura di OSX.
Per riassumere vorrei qualcosa come
#!/bin/bash
if [ no idea ]; then
#installed, nothing to do...
else
xcode-select --install
fi
Grazie per eventuali suggerimenti.