mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-11-15 01:48:34 -07:00
feat(is_os): functions to test for major OS
All over oh-my-zsh I found plenty of functions and plugins testing for the current OS or Platform. For this PR I basically made simple is_[OS] functions that can be used anywhere in plugins or oh-my-zsh code, instead of repeating these over and over again. I basically need such tests often, because my personal custom oh my zsh additions run on macOS with Intel and M1 chips plus on different linux's. Functions: - is_linux - the CPUTYPE env is linux* - is_android - the CPUTYPE env is linux-android* - is_netbsd the CPUTYPE env is netbsd* - is_openbsd - the CPUTYPE env is openbsd* - is_freebsd - the CPUTYPE env is freebsd* - is_mac - the CPUTYPE env is darwin* - is_mac_arm - it is darwin and has CPUTYPE arm64 - is_mac_intel - it is darwin and has CPUTYPE x86_64 - is_bsd - any BSD like OS - the CPUTYPE env is (darwin|freebsd|openbsd|netbsd)* - is_solaris - the CPUTYPE env is solaris* - is_cygwin - the CPUTYPE env is cygwin* - is_msys - the CPUTYPE env is msys* - is_windows - the CPUTYPE env is (cygwin|msys)*
This commit is contained in:
parent
a7d910c3a6
commit
11cf52e701
@ -253,3 +253,30 @@ function omz_urldecode {
|
||||
|
||||
echo -E "$decoded"
|
||||
}
|
||||
|
||||
# The OS is linux
|
||||
function is_linux { [[ "$OSTYPE" == linux* ]]; }
|
||||
# The OS is Android
|
||||
function is_android { [[ "$OSTYPE" == linux-android* ]]; }
|
||||
# The OS is NetBSD
|
||||
function is_netbsd() { [[ "$OSTYPE" == netbsd* ]]; }
|
||||
# The OS is OpenBSD
|
||||
function is_openbsd() { [[ "$OSTYPE" == openbsd* ]]; }
|
||||
# The OS is FreeBSD
|
||||
function is_freebsd() { [[ "$OSTYPE" == freebsd* ]]; }
|
||||
# The OS is macOS (darwin)
|
||||
function is_mac() { [[ "$OSTYPE" == darwin* ]]; }
|
||||
# The OS is macOS (darwin) running on series of ARM-based systems-on-a-chip designed by Apple Inc
|
||||
function is_mac_arm() { is_mac && [[ "$CPUTYPE" == arm64 ]]; }
|
||||
# The OS is macOS (darwin) running on series of Intel (amd64 / x86_64) CPU
|
||||
function is_mac_intel() { is_mac && [[ "$CPUTYPE" == x86_64 ]]; }
|
||||
# The OS is a BSD derivate
|
||||
function is_bsd() { [[ "$OSTYPE" == (darwin|freebsd|openbsd|netbsd|dragonfly)* ]]; }
|
||||
# The OS is Solaris
|
||||
function is_solaris { [[ "$OSTYPE" == solaris* ]]; }
|
||||
# The Platform is Cygwin (Windows)
|
||||
function is_cygwin { [[ "$OSTYPE" == cygwin* ]]; }
|
||||
# The platform is MinGW (Windows)
|
||||
function is_msys { [[ "$OSTYPE" == msys* ]]; }
|
||||
# The OS is Windows
|
||||
function is_windows { [[ "$OSTYPE" == (cygwin|msys)* ]]; }
|
||||
|
Loading…
Reference in New Issue
Block a user