Il modo migliore per lo script automatico per determinare se git è realmente installato su OS X

1

Riesco a localizzare gli eseguibili denominati git in diversi modi (sostanzialmente equivalenti a which git ). Ma tutte le soluzioni che conosco sono sconfitte dal programma falso /usr/bin/git di OS X, che è un aggancio ad una finestra di dialogo che offre l'installazione di git di Xcode (in seguito mi riferirò ad esso come programma di installazione di git OS X ).

Voglio rilevare questa situazione e trattare git come non trovata se è l'unica. Non voglio doverlo eseguire per determinarlo, perché non voglio attivare la finestra di dialogo del programma di installazione.

Contesto: vorrei implementare quanto segue (come parte di un processo di installazione del software più grande):

  • Determina se è installato un git "reale" (cioè, un eseguibile chiamato git , diverso dal programma di installazione git di OS X, si trova su PATH ),
  • Se lo è, riconoscilo e rispettalo e procedi (ho capito questa parte),
  • Se non lo è, installa quello dal progetto git (ho capito questa parte).

Mi è comodo analizzare PATH se necessario e cercare gli eseguibili da solo, se riesco a trovare un modo per ignorare il programma di installazione git di OS X. Mi sento a mio agio con un'euristica se riesce a farlo quasi sempre; Non ho bisogno di gestire casi limite (come qualcuno che crea un eseguibile o uno script chiamato git che non è git -compatibile).

Qual è il modo migliore (il più robusto, in secondo luogo più conveniente) per determinare se un installatore di git non OS X git è installato su un sistema senza che esegue /usr/bin/git (e attiva l'installatore finestra)?

    
posta David P. Caldwell 22.10.2015 - 16:04
fonte

0 risposte

Leggi altre domande sui tag