[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Recoger valores en un dialog (bash).



En Wed, 6 Jun 2007 11:28:28 +0200
"Pablo Braulio" <brulics@gmail.com> escribió:

> Hola a todos.
> 
> No se si clasificar este mensaje como OT.
> 
> Estoy probando con un script en el que pretendo que un usuario
> introduzca un valor en un dialog y recogerlo. Estoy usando lo
> siguiente:
> 
> dialog --title "prueba" --inputbox "Introduce un valor" 7 50;
> 
> ¿Como puedo recoger el valor que introduce el usuario?.
> 
> He probado con  los siguiente:
> 
> dialog --title "prueba" --inputbox "Introduce un valor" 7 50;>archivo
> 
> ...pero no introduce nada.
> 
> ¿Alguna idea?.

Pablo:

Hola, sí.  Se me ocurre que podes usar Zenity.

Este script lo tengo en ~/.gnome2/nautilus-scripts y su funcionamiento es bastante obvio.  Uno ingresa el nombre de un archivo y se fija si esta en el directorio desde el que se inició el script.  Si se encuentra uno o más archivos, se pregunta si se los quiere abrir.  Sino encuentra el archivo lo informa.  En cualquier caso, luego de terminar una búsqueda, inmediatamente ofrece la posibilidad de realizar otra.  Para terminar, hay que cancelar cuando pide realizar una nueva búsqueda.

Y para guardar los datos en un archivo
echo $salida > nombrearchivo

------------- Inicio Script CheckIfExist.sh -------------
#!/bin/bash

# Para que tome los saltos de linea, y no los espacios como separador entre nombres de archivo.
IFS=$'\n'

seguir=1
while [ $seguir -eq 1 ]
do
	salida=$(zenity --entry --title="Buscar archivo" --text="Archivo a buscar")
	resultado=$?
	if [ $resultado -eq 0 ] ; then
		largo=$(echo $salida | wc -w)
		if [ $largo -lt 1 ] ; then
			zenity --error --title="Buscar archivo" --text="No ingreso ningún texto"
		else
			encontrado=$(ls | grep $salida)
			largo=$(echo $encontrado | wc -w)
			if [ $largo -gt 0 ] ; then
				zenity --question --title="Archivo(s) encontrado(s)" --text="¿Desea abrir el/los archivo(s)?\n\n$encontrado"
				resultado=$?
				if [ $resultado -eq 0 ] ; then
					for cadauno in $encontrado; do
						gnome-open $cadauno
					done
				fi
			else
				zenity --error --title="Buscar archivo" --text="No se encontró ningún archivo"
			fi
		fi
	else
		seguir=0
	fi
done
------------- Fin Script CheckIfExist.sh -------------

Espero que te sea de utilidad.

Saludos cordiales.

Sergio
-- 
          Sergio Damián Vernis
   Psicólogo Cognitivo-Comportamental
--
   ()  la campaña de la cinta ascii - contra el correo html
   /\  www.asciiribbon.org campaign - against html e-mail
--
   Yo uso software libre - I use freedom-based software



Reply to: