Foros del Web » Administración de Sistemas » Unix / Linux »

Programacion Shell

Estas en el tema de Programacion Shell en el foro de Unix / Linux en Foros del Web. Buenas!! Queria hacerles una consulta. Estoy haciendo un script de instalacion de una aplicacion php. El script pregunta por una serie de datos. Lo que ...
  #1 (permalink)  
Antiguo 29/12/2008, 09:46
 
Fecha de Ingreso: febrero-2004
Ubicación: Bs. As. - Argentina
Mensajes: 53
Antigüedad: 20 años, 3 meses
Puntos: 0
Programacion Shell

Buenas!!
Queria hacerles una consulta. Estoy haciendo un script de instalacion de una aplicacion php. El script pregunta por una serie de datos. Lo que yo quiero hacer es que al momento de pedir un dato ponga un valor por default y permita al usuario modificarlo. Por ejemplo:

Ingrese el nombre de usuario: admin

Esto es lo que mostraria el script, dandole al usuario la posibilidad de modificar admin.

Lo que estoy haciendo es:

Código:
echo -n "Ingrese el nombre de usuario: "
read USUARIO
Hay algun parametro que le pueda pasar al comando read para que muestre el valor de la variable USUARIO?

Espero haber sido lo suficientemente claro.
Gracias!!
__________________
Saludos!
  #2 (permalink)  
Antiguo 29/12/2008, 11:03
Avatar de AleSanchez
Colaborador
 
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires, Argentina
Mensajes: 3.692
Antigüedad: 19 años, 7 meses
Puntos: 47
Respuesta: Programacion Shell

Simplemente, si el valor de tu variable es vacío (el usuario presionó Enter sin ingresar nada), entonces asignale el valor por defecto.
Saludos,
__________________
¡Volviendo a la programación!
  #3 (permalink)  
Antiguo 29/12/2008, 12:15
 
Fecha de Ingreso: febrero-2004
Ubicación: Bs. As. - Argentina
Mensajes: 53
Antigüedad: 20 años, 3 meses
Puntos: 0
Respuesta: Programacion Shell

AleSanchez:
Ante todo gracias por responder. Creo que no me hice entender.
Ponele que el sistema te pide la ruta a un archivo y vos escribis una ruta muy larga y le das enter. Pero te equivocaste y lo queres modificar. Lo que te permite mi script en este momento es copiar todo nuevamente (o a lo sumo hacer copy&paste). Yo lo que quiero es que el script te escriba en pantalla lo ultimo que ingresaste para que el usuario pueda modificarlo solo la parte que esta mal. Que el script te pre-llene con el ultimo valor ingresado (o el valor default cuando no se ingreso nada aun).
Ej:

Ingrese la ruta: /var/wwww/htdocs/aplicacion

Lo que esta en azul es lo que pone el script (que es lo ultimo que se ingreso) para que el usuario lo pueda modificar (por ejemplo borrar una w en wwww).

No hay una forma de que "read VAR1" muestre el valor de VAR1 para que el usuario lo pueda modificar?
__________________
Saludos!
  #4 (permalink)  
Antiguo 03/08/2009, 01:45
 
Fecha de Ingreso: agosto-2009
Mensajes: 4
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Programacion Shell

La idea que se me ocurre:
1- lees el dato como lo has hecho : read nombre
2- muestras en pantalla el dato: echo "esta es su ruta: $nombre"
3- Aqui se me ocurren varias opciones:
una de ellas seria separar la cadena introducida en diferentes, por ejemplo:
parte1=var, parte2=wwww, parte3=.---
una vez separada pides la cadena a modificar o el lugar...1 para parte1, 2 para parte 2...y asi y una vez introducido modificas y vuelves a juntar.
otra mediante el comando sed el cual tiene opciones interesantes para modificar diferentes caracteres en una cadena, la cosa es que tendrias que redirigir la cadena a un fichero temporal y modificarla, por ejemplo:
1. muestras ruta y rediriges: echo "$nombre" > archivo
2. lees lo que quieres modificar, en tu caso wwww(var1)
3. lees por lo que lo quires modificar, en tu caso: www(var2)
4. ruta_nueva=$(sed ‘s/$var1/$var2' archivo) lo que hace es substituirte lo que coincida con var1 por var2 en el archivo y lo almacena en ruta_nueva
5. Asi tendrás tu ruta nueva modificada.

espero que te haya servido de ayuda. saludos
  #5 (permalink)  
Antiguo 03/08/2009, 03:36
Avatar de -Defero-
Colaborador
 
Fecha de Ingreso: julio-2004
Ubicación: Guipúzcoa
Mensajes: 4.776
Antigüedad: 19 años, 9 meses
Puntos: 76
Respuesta: Programacion Shell

Te digo lo que ya te he dicho en este tema.
__________________
abogado en Errenteria + procuradora en San Sebastián = equipo imparable
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 11:12.