You are here

private function DialogHelper::getShell in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 vendor/symfony/console/Helper/DialogHelper.php \Symfony\Component\Console\Helper\DialogHelper::getShell()

Return a valid Unix shell.

Return value

string|bool The valid shell name, false in case no valid shell is found

1 call to DialogHelper::getShell()
DialogHelper::askHiddenResponse in vendor/symfony/console/Helper/DialogHelper.php
Asks a question to the user, the response is hidden.

File

vendor/symfony/console/Helper/DialogHelper.php, line 422

Class

DialogHelper
The Dialog class provides helpers to interact with the user.

Namespace

Symfony\Component\Console\Helper

Code

private function getShell() {
  if (null !== self::$shell) {
    return self::$shell;
  }
  self::$shell = false;
  if (file_exists('/usr/bin/env')) {

    // handle other OSs with bash/zsh/ksh/csh if available to hide the answer
    $test = "/usr/bin/env %s -c 'echo OK' 2> /dev/null";
    foreach (array(
      'bash',
      'zsh',
      'ksh',
      'csh',
    ) as $sh) {
      if ('OK' === rtrim(shell_exec(sprintf($test, $sh)))) {
        self::$shell = $sh;
        break;
      }
    }
  }
  return self::$shell;
}