Вы можете использовать which -a clang
, чтобы получить список всех clang
на вашем PATH
.Те, кто не на вашем PATH
, как, например, если вы установили Clang где-то необычно, не будут показаны.
Сложность заключается в том, что /usr/bin/clang
на самом деле батут, который запускаетclang
в текущем активном каталоге разработчика, выбранном xcode-select
или переменной среды DEVELOPER_DIR
.Таким образом, зная, что /usr/bin/clang
есть, он не скажет вам, к какому из них он подпрыгнет или какие другие версии можно активировать.xcrun -f clang
скажет первое (которое будет возвращено).Насколько мне известно, нет никакого способа получить инструменты Apple, чтобы перечислить возможные каталоги разработчиков.Таким образом, если у вас установлено несколько версий Xcode (или инструментов командной строки), which -a clang
их не увидит.
Более надежным способом будет поиск в файловой системе.Вы можете использовать find / -type f -perm +a+x -name clang
, но это будет медленно.Другая вещь, которую вы можете попробовать, это Spotlight, но я обнаружил, что внутренние компоненты пакетов приложений Xcode не индексируются.