В OSX, uname -s
возвращает Darwin
(большинство программ Linux uname
возвращают Linux
).
Как правило (кроме личного использования), uname
имеет особенности для разных систем. В autoconf
сценарии используют config.guess
, который предоставляет согласованную информацию.
Например, в моем Debian 7,
x86_64-pc-linux-gnu
и OSX El Capitan
x86_64-apple-darwin15.5.0
Вы можете использовать операторы if-then-else в оболочке или оператор case. Последние легче поддерживать, например,
case $(config.guess) in
*linux*)
DoSomeLinuxStuff
;;
*apple-darwin*)
DoSomeMacStuff
;;
esac
Многие дистрибутивы Linux добавляют информацию к выходным данным uname
, но это полезно только в отдельных случаях. Не существует стандарта для добавленной информации.
Для моего Debian 7:
$ uname -v
#1 SMP Debian 3.2.81-1
в то время как OSX радикально отличается:
$ uname -v
Darwin Kernel Version 15.5.0: Tue Apr 19 18:36:36 PDT 2016; root:xnu-3248.50.21~8/RELEASE_X86_64
Дополнительная литература: