Terminal detection
Functions for checking terminal and TTY status.runtime::is_terminal
runtime::is_terminal
runtime::is_terminal::stdin
runtime::is_terminal::stdin
runtime::is_terminal::stdout
runtime::is_terminal::stdout
runtime::is_terminal::stderr
runtime::is_terminal::stderr
runtime::is_tty
runtime::is_tty
runtime::tty_name
runtime::tty_name
runtime::is_pty
runtime::is_pty
Shell state detection
Functions to check bash options and shell execution modes.runtime::is_traced
runtime::is_traced
runtime::is_verbose
runtime::is_verbose
runtime::errexit_enabled
runtime::errexit_enabled
runtime::nounset_enabled
runtime::nounset_enabled
runtime::noclobber_enabled
runtime::noclobber_enabled
runtime::is_interactive
runtime::is_interactive
runtime::has_flag
runtime::has_flag
runtime::is_login
runtime::is_login
runtime::is_sourced
runtime::is_sourced
runtime::is_bash
runtime::is_bash
runtime::is_pipe
runtime::is_pipe
runtime::is_redirected
runtime::is_redirected
runtime::is_subshell
runtime::is_subshell
runtime::job_controlled
runtime::job_controlled
runtime::debug_trapped
runtime::debug_trapped
runtime::braceexpand_enabled
runtime::braceexpand_enabled
runtime::histexpand_enabled
runtime::histexpand_enabled
runtime::physical_cd_enabled
runtime::physical_cd_enabled
Environment detection
Functions to detect system properties and user privileges.runtime::has_command
runtime::has_command
runtime::is_root
runtime::is_root
runtime::is_desktop
runtime::is_desktop
runtime::sysinit
runtime::sysinit
runtime::is_sudo
runtime::is_sudo
runtime::is_ci
runtime::is_ci
- GitHub Actions
- GitLab CI
- CircleCI
- Travis CI
- Jenkins
- Bitbucket Pipelines
- TeamCity
- Drone
- AWS CodeBuild
- Azure DevOps
- Buildkite
runtime::exec_root
runtime::exec_root
sudo(if available and can run without password in non-terminal contexts)pkexec(if in desktop environment)doas(OpenBSD alternative to sudo)su(fallback)
Platform detection
Functions to detect operating system, architecture, and distribution.runtime::is_wsl
runtime::is_wsl
runtime::os
runtime::os
linux, darwin, wsl, cygwin, mingw, or unknownruntime::arch
runtime::arch
amd64, 386, armv7, arm64, or unknownruntime::distro
runtime::distro
runtime::kernel_version
runtime::kernel_version
Bash version detection
Functions to check bash version information.runtime::bash_version
runtime::bash_version
runtime::bash_version::major
runtime::bash_version::major
runtime::is_minimum_bash
runtime::is_minimum_bash
Container and virtualization
Functions to detect container and virtual machine environments.runtime::is_container
runtime::is_container
- Docker
- Podman
- LXC
- Kubernetes pods
runtime::is_virtualized
runtime::is_virtualized
- VirtualBox
- VMware
- KVM
- QEMU
- Xen
- Hyper-V
Terminal capabilities
Functions to detect terminal features.runtime::supports_color
runtime::supports_color
runtime::supports_truecolor
runtime::supports_truecolor
Multiplexer detection
Functions to detect terminal multiplexers.runtime::is_multiplexer
runtime::is_multiplexer
runtime::is_tmux
runtime::is_tmux
runtime::screen_session
runtime::screen_session
SSH detection
Functions to detect SSH sessions.runtime::is_ssh
runtime::is_ssh
runtime::ssh_client
runtime::ssh_client
Package manager detection
Function to detect the system package manager.runtime::pm
runtime::pm
- apt (Debian/Ubuntu)
- pacman (Arch)
- dnf/yum (Fedora/RHEL)
- zypper (openSUSE)
- apk (Alpine)
- brew (macOS/Linux)
- pkg (FreeBSD)
- xbps (Void Linux)
- nix (NixOS)