es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Ejecutar proceso de consola en PHP y proporcionarle una entrada.

app1:

./app1

salida en la consola:
app1>por favor, proporciona la clave generada:
esperando por la entrada:

¿Cómo ejecutar app1 y proporcionarle la entrada que necesita usando system() o exec()?

Puedo obtener la clave a través de la API de Google Cloud.
La pregunta es cómo dársela a un proceso que ya ha comenzado.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para ejecutar app1 y proporcionarle la entrada que necesita utilizando system() o exec(), puedes utilizar la redirección de entrada. Aquí tienes un ejemplo de cómo hacerlo con system():

    system('./app1 < input.txt');
    

    Esto asume que tienes la clave generada almacenada en un archivo llamado input.txt. La redirección de entrada redirigirá el contenido de input.txt al flujo de entrada estándar de app1.

    Alternativamente, puedes utilizar echo y la tubería para pasar la clave generada directamente a app1. Aquí tienes un ejemplo:

    $key = get_key_from_google_cloud_api();
    system('echo ' . escapeshellarg($key) . ' | ./app1');
    

    Esto ejecutará echo {clave} | ./app1, donde {clave} se reemplaza por la clave generada obtenida de la API de Google Cloud. La función escapeshellarg() se utiliza para escapar cualquier carácter que pueda ser utilizado para inyectar comandos de shell.

Comments are closed.