WP_CLI\Utils
isPiped()
Checks whether the output of the current script is a TTY or a pipe / redirect
Returns true if STDOUT output is being redirected to a pipe or a file; false is output is being sent directly to the terminal.
If an env variable SHELL_PIPE exists, the returned result depends on its value. Strings like 1, 0, yes, no, that validate to booleans are accepted.
To enable ASCII formatting even when the shell is piped, use the ENV variable SHELL_PIPE=0.
SHELL_PIPE=0 wp plugin list | cat
Note that the db command forwards to the mysql client, which is unaware of the env variable. For db commands, pass the --table option instead.
wp db query --table "SELECT 1" | cat
No Hooks.
Returns
true|false.
Usage
isPiped();
isPiped() isPiped code WP-CLI 2.13.0-alpha
function isPiped() { // phpcs:ignore WordPress.NamingConventions.ValidFunctionName.FunctionNameInvalid -- Renaming would break BC.
$shell_pipe = getenv( 'SHELL_PIPE' );
if ( false !== $shell_pipe ) {
return filter_var( $shell_pipe, FILTER_VALIDATE_BOOLEAN );
}
return function_exists( 'posix_isatty' ) && ! posix_isatty( STDOUT );
}