Foros del Web » Programando para Internet » PHP »

Pasar variable de un .php a un .sh

Estas en el tema de Pasar variable de un .php a un .sh en el foro de PHP en Foros del Web. Muy buenas, como andan? Bueno estoy haciendo unas cosillas con php y shell y leyendo por internet no encuentro la solución a mi problema. La ...
  #1 (permalink)  
Antiguo 10/12/2010, 04:35
Avatar de Jask  
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 773
Antigüedad: 18 años
Puntos: 15
Exclamación Pasar variable de un .php a un .sh

Muy buenas, como andan?
Bueno estoy haciendo unas cosillas con php y shell y leyendo por internet no encuentro la solución a mi problema.

La cosa es que tengo un script php el cual se encarga de mandar una variable a un archivo shell para que luego este cree una carpeta, pero no consigo la manera de que el archivo .sh lea la variable que le paso desde php.

Os dejo los códigos a ver si ustedes me pueden ayudar:

PHP

Código PHP:
<?php
        $folder 
"agusfolder";
        
exec("jask.sh \"$folder\"");
        if(
file_exists($folder)){
                echo 
"Se creó ".$folder;
        }else{
                echo 
"No existe ninguna carpeta con ese nombre";
        }
?>
.SH

Cita:
# !/bin/bash
export folder=$1
mkdir $folder
Un saludo y muchas gracias
__________________
Os iusti meditabitur sapientiam
Si te he ayudado, por qué no un poquito de Karma :) ?
  #2 (permalink)  
Antiguo 10/12/2010, 04:57
 
Fecha de Ingreso: septiembre-2004
Mensajes: 324
Antigüedad: 19 años, 7 meses
Puntos: 13
Respuesta: Pasar variable de un .php a un .sh

No sé si esto funcionará
Código PHP:
<?php 
        $folder 
"agusfolder"
        
exec("jask.sh ".$folder); 
        if(
file_exists($folder)){ 
                echo 
"Se creó ".$folder
        }else{ 
                echo 
"No existe ninguna carpeta con ese nombre"
        } 
?>
¿Por qué no creas el directorio con PHP?
  #3 (permalink)  
Antiguo 10/12/2010, 05:33
Avatar de Jask  
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 773
Antigüedad: 18 años
Puntos: 15
Respuesta: Pasar variable de un .php a un .sh

Cita:
Iniciado por karliky Ver Mensaje
No sé si esto funcionará
Código PHP:
<?php 
        $folder 
"agusfolder"
        
exec("jask.sh ".$folder); 
        if(
file_exists($folder)){ 
                echo 
"Se creó ".$folder
        }else{ 
                echo 
"No existe ninguna carpeta con ese nombre"
        } 
?>
¿Por qué no creas el directorio con PHP?
Porque cuando funcione este scrip implementaré unas funcionalidades aparte. Esto es una prueba y si veo que funciona todo bien tengo que crear carpetas en el directorio /home/ftp y claro, esto está en /var/www y el mkdir del php solo lo puede crear en directorios que permite el grupo o usuario www-data. Fuera de la carpeta /var/www no tiene permisos este usuario, por eso tengo que tirar de un script en bash.

Por cierto lo de php que me has comentado es para saber si se creó o no, al fin y al cabo me da igual eso, simplemente me gustará saber si invoco bien la variable en el shell o si hago algo mal.

Gracias :) !!
__________________
Os iusti meditabitur sapientiam
Si te he ayudado, por qué no un poquito de Karma :) ?
  #4 (permalink)  
Antiguo 11/12/2010, 20:30
Avatar de Jask  
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 773
Antigüedad: 18 años
Puntos: 15
Respuesta: Pasar variable de un .php a un .sh

He conseguido que cree la carpeta, pero me la crea con el nombre X ya que el bash que tengo creado está así (para probar unas cosas). Ahora, ¿cómo podría hacer para que la variable del php vaya a la del archivo bash y cree la carpeta según yo le diga?

El archivo bash que tengo ahora mismo es el siguiente:

Cita:
# !/bin/bash
export folder=x
mkdir $folder
Saludos =) !!
__________________
Os iusti meditabitur sapientiam
Si te he ayudado, por qué no un poquito de Karma :) ?

Etiquetas: shell, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:12.