Maison  >  Questions et réponses  >  le corps du texte

Comment utiliser `exec` pour exécuter une commande en plusieurs étapes dans bash

J'ai une commande en plusieurs étapes qui pose plusieurs questions en cours de route. Je dois le faire en code.

php command.php
> 你叫什么名字?
User Smith
> 你多大了?
25
> 你已经够大了!

Mais quand je l'appelle avec exec, ça reste bloqué.

Ce que j'attends, c'est :

<?php

$result = exec('php command.php')->next('User Smith')->next('25');

if ($result->response === '你已经够大了!') echo "Yahoo";
else  echo "哦不!";

P粉659378577P粉659378577287 Il y a quelques jours382

répondre à tous(1)je répondrai

  • P粉464113078

    P粉4641130782024-01-30 09:38:26

    Nous pouvons utiliser l'opérateur pipe pour enchaîner les commandes. Nous pouvons faire cela comme ceci :

    exec('(echo 'User Smith' & echo '25') | php command.php')

    La direction est de droite à gauche.

    Transférez plusieurs commandes en une seule commande

    répondre
    0
  • Annulerrépondre