Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/06/2015, 16:51
Chivitoni
 
Fecha de Ingreso: febrero-2015
Mensajes: 56
Antigüedad: 9 años, 3 meses
Puntos: 1
Exclamación Paso de parámetros a exec

Buenas a todos,
me ha surgido un problema "tonto" pero que no consigo resolver,mi situación es la siguiente:

La siguiente linea de código que lo que hace es ejecutar un script pasandole como parametros la direccion ip,el usuario y su contraseña
exec('sudo datos.sh 192.168.80.100 root root', $disco, $status);

y despues de guarda en un fichero:
file_put_contents($direccion, join("\n", $disco));


y el script es así:
#!/bin/bash
CMD="ls"
VAR=$(expect -c "
spawn ssh -o StrictHostKeyChecking=no $2@$1 $CMD //se le pasa el 1er y 2º parametro
match_max 100000
expect "*?assword:*"
send -- "$3" //se le pasa el 3er parametro
send -- "r"
expect eof
")
echo "==============="
echo "$VAR"

Pues bien,lo que quiero es poder pasar en vez de esos parámetros escritos tal cual,pasar variables como por ejemplo:
exec('sudo datos.sh $a $b $c', $disco, $status);


Pero no consigo que funcione,no se porque pero sólo me funciona si esta todo escrito literalmente
Sólo me funciona si uso system en vez de exec pero con system solo consigo guardar la última línea.

Espero vuestras ideas porque llevo 2 horas con esto y no lo logro solucionar :(

Un saludo y muchas gracias