Мне нужно определить, какая версия команды find используется из сценария оболочки. GNU find поддерживает --version
аргумент, но команда find в OSX, по-видимому, не поддерживает это. Есть ли способ определить, какая это версия?
$ strings `which find`|grep find.c
извините, не могу найти лучшего способа, чем этот. но я считаю, что вам следует просто проверять версию ОС, а не отдельную программу.
Ты не можешь. Поскольку вы не объяснили, зачем вам это нужно, я могу только предположить, что было бы разумно просто использовать функции поиска, указанные в стандарте POSIX. Отличить GNU find от BSD find (той, что поставляется с MacOS X) легко, просто попробовав параметр --version.